Android TextViewは中国語の位置合わせの問題を表示します

3514 ワード

最近の反復バージョンでは、テストのフィードバックに基づいて、一部のコンテンツの表示が不揃いで、ユーザー体験に悪い影響を与えると言われています.例えば、一部の行には現実的な多くのコンテンツがありますが、理由もなく改行されています.実はこれは私から見れば大した問題ではありませんが、テストでこれをバグとして処理する以上、製品バグに注目してきた私はこの問題を解決しなければなりません.
げんり
TextViewのレイアウトが不揃いになったのは、半角文字と全角文字が混用されたためで、漢字と数字、英字が混用された結果が一般的です
ソリューション
ここでは、半角文字と全角文字の混用によるものである以上、実現する内容を同じ文字で符号化することができ、ネット上で見つけられる方法は、文字をすべて全角文字に変換することであり、具体的なコードは以下の通りである.
/**
  *   TextView              ,           
  * @param str
  * @return              
  */
public static String toDBC(String str) {
    char[] c = str.toCharArray();
    for (int i = 0; i < c.length; i++) {
        if (c[i] == 12288) {
            c[i] = (char) 32;
            continue;
        }
        if (c[i] > 65280 && c[i] < 65375) {
            c[i] = (char) (c[i] - 65248);
        }
            
    }
    return new String(c);
}

知識を補充する.
全角:1文字が2つの標準文字の位置を占有することを指す
半角:1つの文字が標準的な文字位置を占有することを意味します.
漢字文字と全角を規定した英字および国際GB 2312-80の図形記号と特殊文字は全角文字であり、システムコマンドは全角文字を使用しない.
通常の英字、数字キー、記号キーは半角です.
全角は2バイト、半角は1バイトです.
http://blog.naiyu.me/textview-show-chinease/