最近为了解决某个bug,textview中内容过长的话自动换行,可是调用measureText函数时发现返回值很不许确,单位也不肯定,是pixel仍是dip,都不许。后来想起textview中有个内容过长加省略号的属性,即ellipsize,能够较偷懒地解决这个问题,哈哈~android
用法以下:函数
在xml中xml
android:ellipsize = "end" 省略号在结尾ip
android:ellipsize = "start" 省略号在开头it
android:ellipsize = "middle" 省略号在中间bug
android:ellipsize = "marquee" 跑马灯di
最好加一个约束android:singleline = "true"view
固然也能够用代码语句vi
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));ps
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好再加一个约束tv.setSingleLine(true);
不只对于textview有此属性,对于editext也有,不过它不支持marquee