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>




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。