我需要你的知识我必须创建像亚马逊 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")
}
}
}
}
})
这是我的逻辑,但是,如果你有任何新的想法来执行这个任务,请告诉我。
谢谢