現象描述:
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>