作者:夏青
链接:https://www.zhihu.com/question/52436308/answer/130588361
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。public class EllipsizeTextView extends TextView {public EllipsizeTextView(Context context) {super(context);}public EllipsizeTextView(Context context, AttributeSet attrs) {super(context, attrs);}public EllipsizeTextView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}@Overrideprotected void onDetachedFromWindow() {super.onDetachedFromWindow();}public EllipsizeTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {super(context, attrs, defStyleAttr, defStyleRes);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {StaticLayout layout = null;Field field = null;try {Field staticField = DynamicLayout.class.getDeclaredField("sStaticLayout");staticField.setAccessible(true);layout = (StaticLayout) staticField.get(DynamicLayout.class);} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}if (layout != null) {try {field =   StaticLayout.class.getDeclaredField("mMaximumVisibleLineCount");field.setAccessible(true);field.setInt(layout, getMaxLines());} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}super.onMeasure(widthMeasureSpec, heightMeasureSpec);if (layout != null && field != null) {try {field.setInt(layout, Integer.MAX_VALUE);} catch (IllegalAccessException e) {e.printStackTrace();}}}
}

已验证有效。

转载自: https://www.zhihu.com/question/52436308/answer/130588361

android textview 使用SpannableString时ellipsize属性不起作用相关推荐

  1. 关于TextView的maxLines和ellipsize属性显示不正确情况之一的解决

    前言:关于TextView的maxLines和ellipsize属性显示不正确网上有好几种情况,我这里只针对自己遇到的一种情况讨论. 下面主要说以下自己的问题即解决: 图片效果: 布局代码: < ...

  2. android span字体修改,Android TextView使用SpannableString设置复合文本的方法详解

    本文实例讲述了Android TextView使用SpannableString设置复合文本的方法.分享给大家供大家参考,具体如下: TextView通常用来显示普通文本,但是有时候需要对其中某些文本 ...

  3. Android TextView跑马灯不动 及属性

    <TextView android:text="每一个视图的绘制过程都必须经历三个最主要的阶段,即onMeasure().onLayout()和onDraw(),"andro ...

  4. Android TextView通过SpannableString设置字体、大小、颜色、样式、超级链接

    代码应该都能看明白 public class MainActivity extends ActionBarActivity {private TextView tv, tv2;private Span ...

  5. Android TextView文字横向自动滚动(跑马灯)

    TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true" 2.设置可滚到,或显示样式:android:elli ...

  6. android ellipsize 多行,android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法...

    android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法 布局文件中的TextView属性 复制代码 代码如下: android:id="@+id/b ...

  7. Android中TextView:的ellipsize属性

    在TextView中,当文字长度超出TextView中显示宽度时,我们可以使用TextView中的ellipsize属性. 如: android:ellipsize="start" ...

  8. Android - TextView Ellipsize属性

    Android - TextView Ellipsize属性 本文地址: http://blog.csdn.net/caroline_wendy 本文的合集已经编著成书,<高级Android开发 ...

  9. android ellipsize 多行,详解Android TextView属性ellipsize多行失效的解决思路

    本文介绍了Android TextView属性ellipsize多行失效的解决思路,分享给大家,具体如下: 多余文字显示省略号的常规做法 android:ellipsize="end&quo ...

最新文章

  1. Apache的管理及优化web
  2. SCVMM 2008 R2 SP1 快速修改动态内存
  3. Django中url匹配规则的补充
  4. Python的数据处理学习(三)
  5. Eclipse/MyEclipse安装FindBugs
  6. The property delegate of CALayer cause Crash.
  7. Winodws live writer
  8. 虚拟内存的作用、分页系统实现虚拟内存原理
  9. 去除Vue在WebStorm中报命名空间的错误
  10. 让游戏达到60帧真的重要吗?
  11. 1. 英语邮件中经常用到的单句 (每次10句)
  12. 性能调优第一篇-SQL格式化
  13. Pytorch/Tensorflow:tf.multiply torch.mul(矩阵对应元素各自相乘)
  14. x509证书验签方法,支持国密证书
  15. 密码学与网络安全—知识点总结
  16. uniApp uview图片懒加载
  17. mosquitto_sub、mosquitto_pub命令参数解析
  18. IT行业的各岗位职责
  19. CentOS7.5LNMP-Nginx部署
  20. 你所不知道的冰冷的经济真相 flp713

热门文章

  1. Java 线程池原理和队列详解
  2. 那些厚黑又细腻的人性社交设计
  3. 【数据库】2、索引、调优、explain(尚硅谷笔记)
  4. 看看全球的共享单车啥样,基本都有停车桩
  5. 绿色红色荧光标记PLGA,PLA,PVP,PVA,明胶纳米纤维膜定制
  6. 目前流行的装修风格_目前最流行的12种装修风格,你喜欢哪一种
  7. 如何把 GIF 动图保存到相册?
  8. 支付宝支付完成没有回调_支付宝“余利宝”完成升级,支付还款更加方便
  9. 通过国家技能大赛项目“企业网搭建及应用”体现的未来网络专业构建及学习方向...
  10. js常用正则验证方法