作者:夏青
链接: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. echarts datazoom 显示的位置设置
  2. 数据结构与算法 / 数组(Array)
  3. VTK:直线网格之RectilinearGridToTetr​​ahedra
  4. 总结缓存使用过程中的几种策略以及优缺点组合分析
  5. @Transactional事务不生效问题解决(springboot)
  6. Internal Error 2738 - Installing ArcGIS Server 9.3,10 for Java
  7. 因遭做空机构指控存在金融欺诈 法拉第未来聘请律所展开调查
  8. 可扩展的Web架构和分布式系统
  9. UVa 11044 - Searching for Nessy
  10. 计算机考试题库电子版,全国计算机等级考试一级试题库大全完整版附参考答案...
  11. deebot扫地机器人响四声_中国智能扫地机器人重点制造基地企业名录(2020年版)...
  12. 使用ApplicationContext类来完全封装闪屏功能
  13. 邮箱管理系统 -- 【课程设计】 idea; MVC; mysql;jsp
  14. 接口测试用例设计及模板
  15. 优秀新媒体文案的4种必备能力
  16. Ubuntu 22.04 桌面美化之Mac Big Sur风格
  17. 上机练习(2019.11.19)
  18. 用UDP实现简易的聊天室
  19. 程序员带你一步步分析AI如何玩Flappy Bird
  20. Installation failed due to: ‘-99‘ OPPO手机

热门文章

  1. windows桌面管理、良心软件
  2. UGUI研究院之针对IOS平台设置某些图不打图集
  3. 好朋友计算机教案,小班综合活动设计好朋友教案
  4. 正则表达式 要求只能有汉字和数字(不能全为数字)(至少5个字符)
  5. Python|凯撒密码
  6. FSC在全球范围内增强品牌相关度,促进公众理解
  7. ps合成(1)——字体破冰效果制作
  8. 简简单单写程序——新手专享(3)
  9. 饥荒鱼排_饥荒鱼排做法介绍 饥荒鱼排怎么做
  10. 阿里巴巴Java开发程序猿年薪40W是什么水平?