一.ellipsize作用
設(shè)置當文字過長時,該控件該如何顯示壳繁。有如下值設(shè)置:
”start”—–省略號顯示在開頭绎签;
”end”——省略號顯示在結(jié)尾枯饿;
”middle”—-省略號顯示在中間;
”marquee” ——以[跑馬燈]的方式顯示(動畫橫向移動)
二.用例
1.android:ellipsize="end" 或mTextView.setEllipsize(TextUtils.TruncateAt.END);
2.android:ellipsize="start" 或
mTextView.setEllipsize(TextUtils.TruncateAt.START);
3.android:ellipsize="middle" 或
mTextView.setEllipsize(TextUtils.TruncateAt.MIDDLE);
三.常見問題
1.我們設(shè)置ellipsize 屬性后沒有效果 加上singleLine="true"就有效果诡必,但是不能寫 lines="1" 和 maxLine="1" ,這樣會導致崩潰奢方。
官方提醒:
具體如下:
Combining ellipsize=middle and maxLines=1 can lead to crashes. Use singleLine=true instead
譯:將ellipsize = middle和maxLines = 1組合在一起可能會導致崩潰。 請改用singleLine = true
Combining ellipsize and maxLines=1 can lead to crashes on some devices. Earlier versions of lint recommended replacing singleLine=true with maxLines=1 but that should not be done when using ellipsize.
譯:將ellipsize和maxLines = 1組合在一起會導致某些設(shè)備崩潰爸舒。 早期版本的lint建議用maxLines = 1替換singleLine = true蟋字,但在使用ellipsize時不應(yīng)該這樣做。
2.Textview.append(" "); ellipsize也會失效