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

Android ellipsize的小問(wèn)題介紹

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

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

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

原來(lái)android里的ellipsize在處理字符串的時(shí)候,如果發(fā)現(xiàn)字符串超長(zhǎng),便會(huì)把最后一個(gè)字符替換為…,不是三個(gè)點(diǎn),而是字體內(nèi)置的省略號(hào)。不管用什么字體,都需要支持這個(gè)省略號(hào)才能正確顯示。APP使用的字體是Mercedes,它支持省略號(hào)顯示,這里沒有問(wèn)題。問(wèn)題在于android在處理ellipsize的時(shí)候,把一個(gè)字符替換為…,把剩下截?cái)嗟钠渌址鎿Q為Unicode的字符“ZERO WIDTH NO-BREAK SPACE” (U+FEFF),這個(gè)字符在屏幕上并不會(huì)顯示出來(lái),但它仍是字符串的一部分。

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

相關(guān)文章

最新評(píng)論

陇川县| 正蓝旗| 谢通门县| 沽源县| 陕西省| 房产| 崇礼县| 山东省| 柳林县| 华容县| 五寨县| 周至县| 泌阳县| 张家口市| 湖州市| 尼勒克县| 佳木斯市| 锦州市| 永顺县| 中牟县| 岳普湖县| 申扎县| 襄汾县| 祁门县| 德保县| 大悟县| 同德县| 虞城县| 盐边县| 元江| 且末县| 石泉县| 苏尼特右旗| 广昌县| 于田县| 铁力市| 陆河县| 中阳县| 安图县| 建德市| 榆社县|