Android ellipsize 使用以及设置没有效果问题

一.ellipsize作用

设置当文字过长时,该控件该如何显示。有如下值设置:
”start”—–省略号显示在开头;
”end”——省略号显示在结尾;
”middle”—-省略号显示在中间;
”marquee” ——以[跑马灯]的方式显示(动画横向移动)

二.用例

1.android:ellipsize="end" 或mTextView.setEllipsize(TextUtils.TruncateAt.END);


image.png

2.android:ellipsize="start" 或
mTextView.setEllipsize(TextUtils.TruncateAt.START);

image.png

3.android:ellipsize="middle" 或
mTextView.setEllipsize(TextUtils.TruncateAt.MIDDLE);


image.png

三.常见问题

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也会失效

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容