一.ellipsize作用
设置当文字过长时,该控件该如何显示。有如下值设置:
”start”—–省略号显示在开头;
”end”——省略号显示在结尾;
”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.我们设置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组合在一起会导致某些设备崩溃。 早期版本的lint建议用maxLines = 1替换singleLine = true,但在使用ellipsize时不应该这样做。
2.Textview.append(" "); ellipsize也会失效