android:singleLine="true",[...]沒有全部顯示,只顯示一個點[.]

現象描述:

android:singleLine="true"時,text超出部分顯示[.],沒有顯示省略號[...]。


如果想要一行顯示文本,超出部分用省略號代替。一般會使用android:singleLine="true"。這種解決辦法大部分情況是對的,但是某些情況下會出問題。比如,以下情況:

Button設置android:singleLine="true",text是英文的情況下,text超出部分顯示[.],不顯示省略號[...]。

上述情況會在android 4.0以上的系統中出現,android4.0以下沒有這種問題。

如圖所示。

text不是英文的話,正常顯示(顯示省略號)

這個屬於系統bug,在xml中不能解決這個問題。只能在代碼中重設text。

<span style="font-size:14px;">String text = "aaaaaaaaaa";
if (text.length() > 6) {
    text = text.substring(0, 6) + "...";
}
btn.setText(text);</span>




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