Android ellipsize的小问题介绍

末路法官72

末路法官72

2016-02-19 11:28

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐Android ellipsize的小问题介绍,赶紧看过来吧!
使用TextView的时候,需要长度过长自动显示省略号,android里有原生的支持,定义如下:
代码如下:

TextView ...
android:ellipsize="end"
android:singleLine="true"/

一看确实可以使用,但仔细观察,发现在省略号…的后面有一个方框,类似于出现乱码那种字符,这是为什么呢?

原来android里的ellipsize在处理字符串的时候,如果发现字符串超长,便会把最后一个字符替换为…,不是三个点,而是字体内置的省略号。不管用什么字体,都需要支持这个省略号才能正确显示。APP使用的字体是Mercedes,它支持省略号显示,这里没有问题。问题在于android在处理ellipsize的时候,把一个字符替换为…,把剩下截断的其他字符替换为Unicode的字符“ZERO WIDTH NO-BREAK SPACE” (U+FEFF),这个字符在屏幕上并不会显示出来,但它仍是字符串的一部分。

问题原来出在这里,使用的Mercedes字体不支持这个特殊字符U+FEFF的显示,所以才会出现乱码。解决的方法也很简单,编辑字体文件,把U+FEFF这个字符的宽度设为0。
展开更多 50%)
分享

猜你喜欢

Android ellipsize的小问题介绍

编程语言 网络编程
Android ellipsize的小问题介绍

android图像绘制(二)画布上放大缩小问题

编程语言 网络编程
android图像绘制(二)画布上放大缩小问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

不能忽视的小问题

电脑网络
不能忽视的小问题

Android设备常见无线连接问题介绍

Android
Android设备常见无线连接问题介绍

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎么缓解冬季小问题

冬季
怎么缓解冬季小问题

宝宝睡眠常见的小问题

宝宝睡眠 睡眠
宝宝睡眠常见的小问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

iOS、Mac OS X系统中编程实现汉字转拼音的方法(超级简单)

iOS、Mac OS X系统中编程实现汉字转拼音的方法(超级简单)

Baidu Musicbox 用到的ajax代码

Baidu Musicbox 用到的ajax代码
下拉加载更多内容 ↓