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);

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


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

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

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

更多相关文章

  1. Android(安卓)shape 绘制图形的实例详解
  2. Android(安卓)之 EditText属性用法介绍
  3. Android(安卓)XML 不常用属性
  4. TextView处理显示字数过长
  5. Android(安卓)View 属性大全
  6. Android属性之build.prop,及property_get/property_set
  7. Android属性系统之build.prop的生成
  8. 2.3.2EditText控件
  9. Android布局属性解析

随机推荐

  1. Android(安卓)之 Files
  2. Android启动
  3. android sdk安装 来之官方
  4. Android实现图片预览浏览功能
  5. [置顶] Android中再按一下返回键退出程序
  6. Android View之对现有控件进行拓展实例
  7. 获取android正在运行的所有app进程
  8. Android上SD卡图片的标准缓存方法
  9. Android Adb Gadget Driver
  10. android ndk log使用demo