1

我需要你的知识我必须创建像亚马逊 Kindle 这样的图书阅读器应用程序,但是,使用简单的文本格式而不是任何文件格式,如 pdf、epub 或任何格式。在 textview 中加载简单文本。

我有一个想法,假设我们在一本书中有 1000 行。使用 .在 textview 中加载此文本android:layout_height="match_parent"。当文本超过 texview 高度的限制时,它会在下一个 textview 中自动加载剩余的文本,但是,如何知道文本超过了 textview 的限制(eclipsing)。

为了实现这一点,我编写了这段代码,但l.getEllipsisCount(lines - 1)返回0

lLayout.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
        override fun onGlobalLayout() {
            // your code here. `this` should work
            val l = tvHtml.getLayout();
            if (l != null) {
                var lines = l.getLineCount()
                if (lines > 0) {
                    if (l.getEllipsisCount(lines - 1) > 0) {//2147483647
                        Log.d("log ---------", "Text is ellipsized")
                    }
                }
            }
        }
    })

这是我的逻辑,但是,如果你有任何新的想法来执行这个任务,请告诉我。

谢谢

4

0 回答 0