2019独角兽企业重金招聘Python工程师标准>>>

textview多行设置ellipsize="end"并不显示省略号。这是android4.0以下系统的bug,google发现有个家伙写了个开源控件 http://android-textview-multiline-ellipse.googlecode.com/ 号称解决该问题。但实际测试还是存在问题,只好自己另寻找解决方案。下面的代码替换掉该控件的resetText函数,几乎可实现多行显示省略号 。
private void resetText() {String workingText = fullText;boolean ellipsized = false;int maxLines = this.maxLines > 0 ? this.maxLines : 1;if (maxLines <= getLineCount()) {Paint paint = getPaint();float mw = (getMeasuredWidth() - getPaddingLeft() - getPaddingRight())* maxLines;if (paint.measureText(workingText) > mw) {int ei = (int) ((mw - paint.measureText("...")) / paint.getTextSize()) - 1;if (ei < workingText.length()) {workingText = workingText.substring(0, ei - 1) + "...";}}ellipsized = true;}if (!workingText.equals(getText())) {programmaticChange = true;try {setText(workingText);} finally {programmaticChange = false;}}isStale = false;if (ellipsized != isEllipsized) {isEllipsized = ellipsized;for (EllipsizeListener listener : ellipsizeListeners) {listener.ellipsizeStateChanged(ellipsized);}}}

实际这个解决方法还是有点小问题。什么问题请留意下文分解^_^。

转载于:https://my.oschina.net/droidwolf/blog/285455

textview多行ellipsize=end不显示省略号的解决方法(一)相关推荐

  1. thinkphp省略php,ThinkPHP的截取字符串函数无法显示省略号的解决方法

    对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下: 打开Common/extend.php页面,修改msubstr函数如下: function msubstr($str, $st ...

  2. css多行文本超出显示省略号无效解决方法

    css多行文本超出显示省略号,以2行为例,网上很多解决方法,如下.之前一直采用的是这种方法,最近发现无效了.vant也是这种写法, .txt-ellipsis-2 {display:-webkit-b ...

  3. 安卓超过两行就加省略号_CSS文本超出2行就隐藏并且显示省略号

    超出一行隐藏: overflow:hidden; //超出的文本隐藏 text-overflow:ellipsis; //溢出用省略号显示 white-space:nowrap; //溢出不换行 但是 ...

  4. cmd命令行mysql乱码解决方法_mysql命令行显示乱码的解决方法

    mysql命令行显示乱码的解决方法:1.打开my.ini配置文件:2.修改配置[default-character-set=utf8]:3.改变数据库的编码方式,如[set character_set ...

  5. sublime text html乱码,Sublime Text 2中文显示乱码的解决方法

    Sublime Text 2中文显示乱码的解决方法 发布时间:2014-05-12 15:30:14   作者:佚名   我要评论 这篇文章主要介绍了Sublime Text 2中文显示乱码的解决方法 ...

  6. questasim中点击 add wave 后,显示 no data 解决方法

    questasim中点击 add wave 后,显示 no data 解决方法 昨天在questasim中编译sv 文件,顺利出波形.没有关闭软件,打算今天接着研究.却发现没有波形了... 重新点击a ...

  7. 使用远程桌面连接无法显示本地硬盘解决方法

       远程桌面客户端和服务器端都设定了允许本地磁盘映射,但不能访问本地硬盘并且不能复制粘贴,解决方法入下: 第一步: 打开"组策略" 在"运行"中输入gpedi ...

  8. word表格内容显示不全的解决方法

    问题 上面表格的内容是正常显示的,下面表格的内容明显没有显示完全. 解决方法 选中单元格-右键-表格属性 行-行高值是-最小值 问题解决

  9. 为什么文本框里的字只显示一半_Word文档中文字显示不全的解决方法有哪些

    在Word 文档中,如果把段落中的文字字号设置大一点的字体,可能会出现文字显示不全的情况;表格中也可能出现这种情况,文字显示一半或都显示不出来,是什么原因?以下是学习啦小编为您带来的关于Word文档中 ...

最新文章

  1. 关于《写给青少年的数学故事:代数奇思》“二维码”一文的声明
  2. matlab 图像读取长宽_MATLAB图像处理基本操作
  3. 开机显示输入最佳预设值_开机密码忘了怎么解决
  4. owaspbwa tickets
  5. provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接错误的解决方法...
  6. Flask爱家租房--订单(下订单)
  7. 外键约束 mysql
  8. 2014第3周六升级win8.1
  9. 一个项目如何编译多个不同签名、包名、资源等,的apk?
  10. 《构建高可用Linux服务器 第3版》—— 2.7 系统维护时应注意的非技术因素
  11. Jquery WeUI 复选框
  12. 综合评价方法之熵值法
  13. js动态添加元素时绑定onclick函数
  14. 攻防世界-web- easyphp
  15. neo4j数据可视化_我如何使用neo4j可视化来自半结构化数据的连接
  16. ffmpeg一些基本用法
  17. python3中eval函数用法简介_python3中eval函数用法使用简介
  18. java导出excel包含图片
  19. QA | SWCF2022 笔记:C波段卫星与5G之间的干扰排查及解决方案
  20. Python爬虫从入门到精通:(36)CrawlSpider实现深度爬取_Python涛哥

热门文章

  1. C#中new和override的区别
  2. asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
  3. 通过反射获得引用程序集信息
  4. 同步 GIT@OSC 实现MARKDOWN文件发布或更新到CSDN博客中
  5. CSS clear 清除浮动,兼容各浏览器
  6. error while loading shared libraries: libatomic.so.1
  7. Linux 线程与互斥锁的使用
  8. vue实现Excel文件的上传与下载
  9. 《Linux就该这么学》培训笔记_ch06_存储结构与磁盘划分
  10. YII2集成GOAOP,实现面向方面编程!