android中的ellipsize

来源:互联网 发布:美食 知乎 编辑:程序博客网 时间:2024/05/22 19:03

转自文章  http://www.cnblogs.com/nicklezhang/archive/2011/01/22/1941884.html


最近为了解决某个bug,textview中内容过长的话自动换行,但是调用measureText函数时发现返回值很不准确,单位也不确定,是pixel还是dip,都不准。后来想起textview中有个内容过长加省略号的属性,即ellipsize,可以较偷懒地解决这个问题,哈哈~



用法如下:


在xml中


android:ellipsize = "end"    省略号在结尾


android:ellipsize = "start"   省略号在开头


android:ellipsize = "middle"     省略号在中间


android:ellipsize = "marquee"  跑马灯


最好加一个约束android:singleline = "true"


 


当然也可以用代码语句


tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));


tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));


tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));


tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));


最好再加一个约束tv.setSingleLine(true);


不仅对于textview有此属性,对于editext也有,不过它不支持marquee
0 0
原创粉丝点击