最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android ellipsize的小問題介紹

 更新時間:2012年11月15日 17:30:18   作者:  
使用TextView的時候,需要長度過長自動顯示省略號,android里有原生的支持,本文將針對此問題進行深入剖析,需要的朋友可以參考
使用TextView的時候,需要長度過長自動顯示省略號,android里有原生的支持,定義如下:
復(fù)制代碼 代碼如下:

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

一看確實可以使用,但仔細觀察,發(fā)現(xiàn)在省略號…的后面有一個方框,類似于出現(xiàn)亂碼那種字符,這是為什么呢?

原來android里的ellipsize在處理字符串的時候,如果發(fā)現(xiàn)字符串超長,便會把最后一個字符替換為…,不是三個點,而是字體內(nèi)置的省略號。不管用什么字體,都需要支持這個省略號才能正確顯示。APP使用的字體是Mercedes,它支持省略號顯示,這里沒有問題。問題在于android在處理ellipsize的時候,把一個字符替換為…,把剩下截斷的其他字符替換為Unicode的字符“ZERO WIDTH NO-BREAK SPACE” (U+FEFF),這個字符在屏幕上并不會顯示出來,但它仍是字符串的一部分。

問題原來出在這里,使用的Mercedes字體不支持這個特殊字符U+FEFF的顯示,所以才會出現(xiàn)亂碼。解決的方法也很簡單,編輯字體文件,把U+FEFF這個字符的寬度設(shè)為0。

相關(guān)文章

最新評論

内江市| 海门市| 应用必备| 昂仁县| 行唐县| 澳门| 洛宁县| 宁德市| 无棣县| 徐州市| 阿克陶县| 克什克腾旗| 石河子市| 凯里市| 大姚县| 炎陵县| 喀喇沁旗| 和政县| 阆中市| 洞头县| 清苑县| 双峰县| 佳木斯市| 浪卡子县| 保靖县| 黔南| 弋阳县| 恭城| 平阴县| 米脂县| 巢湖市| 葵青区| 白山市| 胶南市| 苍梧县| 元朗区| 龙游县| 汝南县| 会泽县| 清水河县| 泗洪县|