setEllipsize(TruncateAt where)
void android.widget.TextView.setEllipsize(TruncateAt where)
public void setEllipsize (TextUtils.TruncateAt where)
當文本長於視圖時,可用ellipsize()方法進行設置以顯示完整的文本,而不是在中間截斷原來的文本。您可能還想要用setSingleLine()或setHorizontallyScrolling(bool)來限制爲單行文本。可以使用null關閉ellipsize。如果setMaxLines(int)被用來設置兩行或兩行以上的文本,只有END和MARQUEE被ellipsize方法支持(其他ellipsiz類型將不會做任何事情)。
相關xml屬性:android:ellipsize
如果設置了,則必須爲下列的值之一:
constant | value |
none | 0 |
start | 1 |
middle | 2 |
end | 3 |
marquee | 4 |
與之相關的方法TextUtils.TruncateAt.flags的參數flags如下
public static final TextUtils.TruncateAt END
public static final TextUtils.TruncateAt MARQUEE
public static final TextUtils.TruncateAt MIDDLE
public static final TextUtils.TruncateAt START
測試後發現參數flags作用如下:
當文本長度超過View時,END表明從文本開始截取view最大可以顯示的寬度,不可見的部分將無法看到,也無法滑動span去查看。MARQUEE設置走馬燈效果(常常配合setMarqueeRepeatLimit()使用),不用多說。START表示:取得文本的全部長度,不可見部分(即超出view部分)可以用手滑動span進行查看.與MIDDLE類似。
下面是一個例子:
tv.setEllipsize(TextUtils.TruncateAt.MARQUEE);
tv.setMarqueeRepeatLimit(4);
設置當文本過長時(超過tv文本域),用跑馬燈的方式顯示文本,並設置重複次數爲4次。