Textview顯示文字時格式參差不齊的解決方式

接觸android開發不久,但是經常會發現一個問題,就是textview在每行末尾處顯示標點符號、數字或者特殊字符時,經常會導致顯示效果出現參差不齊,之前也一直沒管過,後面做適配的時候發現真是醜,於是纔想起解決,究其原因在於除漢字以外的其它字符(比如標點符號、字母、數字等)佔用位置的大小,在計算機屏幕上,一個漢字要佔兩個英文字符的位置,人們把一個英文字符所佔的位置稱爲"半角",相對地把一個漢字所佔的位置稱爲"全角"。在漢字輸入時,系統提供"半角"和"全角"兩種不同的輸入狀態,但是對於英文字母、符號和數字等這些通用字符就不同於漢字,在半角狀態它們被作爲英文字符處理;而在全角狀態,它們又可作爲中文字符處理。所以說你在textview顯示文字的時候應該用全角好一些,因爲這樣對於文章能整齊,美觀。下面這個方法就是將半角轉化爲全角,這樣就不會出現參差不齊的情況了。

public static String ToDBC(String text) {
char[] c = text.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == 12288) {// 全角空格爲12288,半角空格爲32
c[i] = (char) 32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)// 其他字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248
c[i] = (char) (c[i] - 65248);
}
return new String(c);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章