閱讀54 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

最後更新:2017-04-02 06:51:46

  上一篇:go ViewFlipper的使用
  下一篇:go Preference 也是可以響應Click事件的