Textview中若文字过长,默认会换行显示,这就可能导致不希望的结果,使用ellipsize属性解决这个问题,将多余的文字以省略号显示
写在xml中
android:ellipsize = "end" 省略号在结尾
android:ellipsize = "start" 省略号在开头
android:ellipsize = "middle" 省略号在中间
android:ellipsize = "marquee" 跑马灯
最后加一个约束android:singleline = "true" 单行显示
写在代码中有一样的效果:
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
再加一个约束tv.setSingleLine(true);
对于editext也有类似属性,但它不支持marquee