今天,讲讲如何在多行文本后显示省略号。
TextView控件有一个属性是ellipsize,指的是当文字内容长度超过TextView大小时显示问题,一般情况下我们都是用省略号表示,常用的情况有以下四种:
1,Android:ellipsize = "end" 省略号在结尾
3,android:ellipsize = "start" 省略号在开头
3,android:ellipsize = "middle" 省略号在中间
4,android:ellipsize = "marquee" 跑马灯
但是我们遇到的问题是,这几个属性一般只有在设置了android:singleline = "true"的时候才有效,此时只能显示一行文字,但是当我们的TextView要显示多行文字,比如我们设置了android:maxLines="3"时,我们肯定不能设置android:singleline = "true",此时的android:ellipsize=“end”就失去效果了。MaxLines与ellipsize=end冲突问题纠结我很久,在网上打了不少资料,加上自己工作中的实际情况,写了个工具类,测试了好几款手机都没有问题,把主要代码贴出来,请大家多指教!