想要获取textview某行实际显示的字数,而不是整行的字数,这该怎么弄呢?
求大神
问题修正:
textview设定最大行数为1后,文本超出了textview,textView末尾显示省略号,我就想知道省略号代表的内容
想要获取textview某行实际显示的字数,而不是整行的字数,这该怎么弄呢?
求大神
问题修正:
textview设定最大行数为1后,文本超出了textview,textView末尾显示省略号,我就想知道省略号代表的内容
1 回答1.4k 阅读
2 回答979 阅读
1 回答1.2k 阅读
1 回答1.1k 阅读
1 回答963 阅读
1 回答925 阅读
739 阅读
假设TextView的宽度是在xml内设置的具体数值,比如300dp,
(目的是为了简化这个问题,如果设置为match_parent或者wrap_content,需要在程序运行时计算其宽度,而直接getWidth总是返回0,比较麻烦。)
比如是这样配置的:
然后填充了一个超长的字符串,比如这样:
这样就会导致显示不全,像这样:
If you really want to hear about it, the first thin...
所以,如果你想得到已显示的字符个数,或者未显示的字符个数,那么其中的关键是如何计算每一个字符的宽度。
然后遍历这个字符串,当前n个字符宽度总和,超过TextView宽度时,就得到了已显示的字符个数。
结果如下,在荣耀3C和LG G3上测试通过(G3比计算的结果,多显示了一个字符):
就是这样。