关于Textview maxline=1 ellipsize="end" 导致中英文数字混合分割错误的问题
来源:互联网 发布:淘宝新店搜索软件 编辑:程序博客网 时间:2024/05/22 01:55
本文转载自:http://blog.csdn.net/lhj_android/article/details/78143383
本文纯为记录
出现错误的现象
我想让textview显示:你好啊430000000呵呵呵呵呵呵呵赫尔呵呵. 由于我设置了maxline=1 ellipsize=”end” 在Textview宽度不够的时候应该显示成
你好啊430000000呵呵呵呵呵呵呵…(理想的显示)
结果在一些手机上 特别是5.0以下的手机 显示成
你好啊…
当时想着这么会出现这个情况呢 于是我上网上搜索了下 比较靠谱的说法是 当你设置ellipsize=”end” 这个属性时 textview会检测你的文字应该在那截断
****textview的折行包含以下规律:
1、半角字符与全角字符混乱所致:这种情况一般就是汉字与数字、英文字母混用。
2、TextView在显示中文的时候标点符号不能显示在一行的行首和行尾,如果一个标点符号刚好在一行的行尾,该标点符号就会连同前一个字符跳到下一行显示。
3、一个英文单词不能被显示在两行中( TextView在显示英文时,标点符号是可以放在行尾的,但英文单词也不能分开 )。**
网上试了很多方法 一种说是把文字全部转成全角(这样做不好看 看着很别扭)
还有的说重写textview
然后我想着既然系统截取单词判断出现了错误 那我就自己来截取合适的文字长度设置给textview不就行了。于是我就尝试着自己截取。所以我想到是看看系统提供的TextUtils有没有这样的方法 结果里面还真有。于是我调用了
(String) TextUtils.ellipsize(str,tv1.getPaint(),dp2px(120), TextUtils.TruncateAt.END);
第一个参数是: 想要设置给textview的文本内容
第二个参数是: textview的paint系统会用这个paint那测量文字有多长
第三个参数是: textview的宽度 这个宽度一般都能通过布局拿到 根据求取屏幕宽度 减去它左边和右边的布局就能知道多宽了
地四个阐述是: 截断方式
返回值: 系统根据textview的paint和textview宽度 返回一个正确的截断字符串
然后试了一下问题解决了
显示为
你好啊43000000…
第二种方法 还可以用SingleLine=“true”直接进行设置
出现过这个问题的朋友们可以试试这个方法。有更好的解决方法也请告知一下
- 关于Textview maxline=1 ellipsize="end" 导致中英文数字混合分割错误的问题
- 关于Textview maxline=1 ellipsize="end" 导致中英文数字混合分割错误的问题
- Android TextView关于android:ellipsize=end的一个bug
- 解决TextView中MaxLines与ellipsize=end冲突问题
- 解决TextView中MaxLines与ellipsize=end冲突问题
- 解决TextView中MaxLines与ellipsize=end冲突问题
- 解决TextView中MaxLines与ellipsize=end冲突问题
- 关于android textview 中英文混合分行错误问题
- 对于TextView 设置 Ellipsize ="End" 无效时的解决方法
- TextView限制最大行数,多出部分显示省略号,解决ellipsize = "end" 失效的问题
- android TextView多行文本(超过3行)使用ellipsize="end"属性无效问题的解决方法
- android 决TextView中MaxLines与ellipsize=end冲突问题
- Textview用android:ellipsize="end"末尾出现方框乱码的解决办法
- Android TextView 对于汉字与数字混合导致换行混乱的问题
- TextView 中 android:maxEms="" ,maxLine="",maxlenght="";的区别
- android TextView 显示不全的问题解决,此问题是设置了maxLines和ellipsize=end情况下发生的!
- Android判断是否触发ellipsize="end"(即textview是否换行)
- Android判断是否触发ellipsize="end"(即textview是否换行)
- Java发送邮件
- HTTP协议详解
- java并发基础(二)--- Java监视器模型、并发容器、同步工具类(闭锁、信号量)
- iOS开发之iOS11、iPhone X、Xcode9 适配指南
- 《C++ Concurrency in Action》笔记29 设计并行代码(1)
- 关于Textview maxline=1 ellipsize="end" 导致中英文数字混合分割错误的问题
- jdk8时间工具类
- BZOJ1054 移动玩具 [BFS][HASH]
- 一些常用Api
- java类的设计技巧(总括)
- sqlservice/Oracle/Mysql三者的优缺点
- 安卓UI控件-TextView、ImageView及其子类
- leetcode 132模式
- 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)