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"));注: EditText不支持marquee这种模式。

最好再加一个约束tv.setSingleLine(true);

不仅对于textview有此属性,对于editext也有,不过它不支持marquee


或者用substring((int start, int end);

str.substring(0, str.length()>30?30str.length())+"......"

如果大于30个字就只显示30字,不到30字则全显示出来


综上所述:EditText.setEllipsize(TextUtils.TruncateAt.valueOf("START"));


更多相关文章

  1. 组件属性
  2. Android corners 圆角属性各个版本之间兼容问题
  3. android:属性
  4. EditText 的属性
  5. 【Android 界面效果14】RelativeLayout里常用的位置属性
  6. Android TextView全属性
  7. Android ellipsize属性(多余文字用省略号显示)

随机推荐

  1. hello,Android
  2. Android(安卓)Button按钮点击变换字体颜
  3. 一个Activity的显示过程总结(二)
  4. 【android studio】 gradle配置成本地离
  5. Android(安卓)studio安装与调试
  6. android源码学习之源码编译并nexus s真机
  7. Android(安卓)中handler 的应用
  8. Android(安卓)Studio工程 build.gradle
  9. android调试工具
  10. MTP in Android详解