今天小編跟大家分享一下關于Android ellipsize的一些相關問題介紹,感興趣的朋友跟小編一起來了解一下吧!
使用TextView的時候,需要長度過長自動顯示省略號,android里有原生的支持,定義如下:
一看確實可以使用,但仔細觀察,發(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這個字符的寬度設為0。
以上所述就是關于Android ellipsize的一些相關問題介紹,希望大家能夠喜歡,更多內(nèi)容請繼續(xù)關注武林技術(shù)頻道網(wǎng)站!
新聞熱點
疑難解答
圖片精選