应用ellipsize时,获取textview中可见字符的数量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用ellipsize时,获取textview中可见字符的数量相关的知识,希望对你有一定的参考价值。

当我们在TextView中应用android:ellipsize时,我想得到TextView中可见的字符数。假设我有“这是多线的虚拟头条故事标题,这是多线的假顶级故事标题。”文本和我已经在我的"android:ellipsize="end" android:maxLines="2""中设置Textview这些属性,因此它将减少一些文本并显示3个点。现在我想要可见的字符数量。

答案
  • 在singleLine TextView的情况下: stringLength - textView.length()

会给出在设备中没有显示或删除多少文本。

  • 在多线TextView的情况下,您可以使用相同的方式: 布局textViewLayout = textview.getLayout(); textViewLayout.getEllipsisCount(textViewLayout.getLineCount() - 1)

根据developer.android.com的文档

getEllipsisCount(int line)

Returns the number of characters to be ellipsized away, or 0 if no ellipsis is to take place.

注意:在textview可见/绘制后必须使用getEllipsisCount

以上是关于应用ellipsize时,获取textview中可见字符的数量的主要内容,如果未能解决你的问题,请参考以下文章

android textview 设置单行最大宽度和ellipsize省略号时整体变短的问题

TextView ellipsize - 选框滞后

TextView ellipsize 属性使用,省略号不显示的问题

使用 Databinding 和 maxlines 使 ellipsize 在 TextView 中不起作用

Android - TextView Ellipsize属性

Ellipsize 不适用于自定义 listView 中的 textView