setEllipsize(TruncateAt where) setEllipsize(TruncateAt where)

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次。

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