Android ellipsize的小问题介绍

 更新时间:2012年11月15日 17:30:18   作者:  
使用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中可以作为Log开关的一些操作及安全性详解

    Android中可以作为Log开关的一些操作及安全性详解

    Android的调试好伙伴Log在调试时非常有用,基本可以看Log而无需单点调试,尤其对实时大数据量的设备调试尤其有效,下面这篇文章就来给大家详细介绍关于Android中可以作为Log开关的一些操作及安全性的相关资料,需要的朋友可以参考下。
    2017-12-12
  • Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子

    Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子

    Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子,需要的朋友可以参考一下
    2013-05-05
  • Android View滑动的实现分析示例

    Android View滑动的实现分析示例

    View滑动是Android实现自定义控件的基础,同时在开发中难免会遇到View的滑动处理,其实不管是那种滑动方法,基本思路是类似的;当点击事件传到View时,系统记下触摸点的坐标,手指移动时系统记下移动后的左边并算出偏移量,通过偏移量来修改View的坐标
    2022-08-08
  • Android Toast提示封装实例代码

    Android Toast提示封装实例代码

    这篇文章主要介绍了Android Toast提示封装实例代码的相关资料,需要的朋友可以参考下
    2017-06-06
  • android打开rar压缩文件

    android打开rar压缩文件

    这篇文章主要介绍了android打开rar压缩文件示例,调用RAR for android 打开压缩文件,需要的朋友可以参考下
    2014-03-03
  • Android SharePreferences与数据库SQLite存储实现方法介绍

    Android SharePreferences与数据库SQLite存储实现方法介绍

    这篇文章主要介绍了Android SharePreferences与数据库SQLite用于存储的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • Android远程获取图片并本地缓存

    Android远程获取图片并本地缓存

    这篇文章主要介绍了Android远程获取图片并本地缓存方法,对于远程图片等相对比较大的资源采用异步线程中去获取本地做缓存,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Android build.gradle版本名打包配置的方法

    Android build.gradle版本名打包配置的方法

    这篇文章主要介绍了Android build.gradle版本名打包配置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Android Application存取公共数据的实例详解

    Android Application存取公共数据的实例详解

    这篇文章主要介绍了Android Application存取公共数据的实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Android依赖注入框架Dagger2的使用方法

    Android依赖注入框架Dagger2的使用方法

    Dagger2是一款基于Java的依赖注入框架,可以帮助Android开发者管理和组织应用的依赖关系。通过使用注解和代码生成技术,可以实现自动化的依赖注入,减少手动编写代码的工作量
    2023-05-05

最新评论