手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android ellipsize的小问题介绍
Android ellipsize的小问题介绍
摘要:使用TextView的时候,需要长度过长自动显示省略号,android里有原生的支持,定义如下:复制代码代码如下:一看确实可以使用,但仔细观...

使用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。

【Android ellipsize的小问题介绍】相关文章:

Android开发:14个解决实际问题的代码片段

android4.0 获取手机IP地址的问题

Android开发笔记 TableLayout常用的属性介绍

Android Studio打包时解决V4包重复的问题

Android 开发中需要注意到的小细节

解析android截屏问题

Android屏蔽后退键的小例子

Android UI开发专题(一) 之界面设计

Android中的文件I/O操作

Android 内存泄漏的几种可能总结

精品推荐
分类导航