TextView在Android開發中用到的地方應該是很多的。很多時候,TextView會有一行顯示不全被截取或者會換行。之前我的解決辦法比較笨拙,定死TextView的一行字數長度,最后一個以省略號代替,這樣做會有很多問題,Android手機的適配是一個頭疼的問題。而且漢字和英語符號所占的寬度也不一樣,比較頭疼。發現一個方法比較簡單,分享一下。Android為TextView提供了setEllipsize方法,通過這個方法可以幫我們省去很多麻煩。具體的做法如下:
textview.setEllipsize(TextUtils.TruncateAt.MARQUEE);//有
start end middle marquee參數
textview.setSingleLine(true);//設置成單行的
textview.setMarqueeRepeatLimit(6);//滾動循環次數
public static final TextUtils.TruncateAt END 末位省略
public static final TextUtils.TruncateAt MARQUEE 滾動
public static final TextUtils.TruncateAt MIDDLE 中間省略
public static final TextUtils.TruncateAt START
開頭省略
如果我想末位省略,我就可以這么做:
textview.setEllipsize(TextUtils.TruncateAt.END);
但是要記得要設置TextView為單行的。可以在xml設定android:singleline="true"