android中的ellipsize

最近爲了解決某個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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章