分别针对TextView和EditView超过限制长度显示省略号给出解决方案
TextView设置单行并且设置maxEms,超过的部分显示end省略号.
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World hello world!" android:maxLines="1" android:maxEms="5" android:ellipsize="end"/>
有设置的是android:maxEms="5",这里的长度是指5个大写“M”的宽度,但是我测试中文汉字发现出现6个汉字之后才出现省略号,又或者是字体加粗之后,和没有加粗的情况下显示的汉字个数也是不一样的,对于要求比较高的设计师,怎么办呢?
解决方案如下:
在代码里面这样写:
textView.setSingleLine(true);
textView.setText(TextUtils.ellipsize(textToFill,textView.getPaint(),maxlength,TextUtils.TruncateAt.END);
textToFill:你要填充在textview的原始字符串
maxlength:你要设置多少字截断后面显示省略号,如大于10个字长后显示省略号