连接阿拉伯语和英语文本android TextView

时间:2014-01-19 10:47:42

标签: android localization textview

我有以下算法可以连接阿拉伯文本和英文文本

private String getFormatedArabicEnglishMessage (String [] parts) {

    String retString = "";

    for (int i = 0; i < parts.length; i++) {

        if (MyServices2Utils.isProbablyArabic(parts[i]) == true) {
            retString += "\u202B" + new String(" ") + "\u202C";
            retString += "\u202B" + new String(parts[i].getBytes()) + "\u202C";
            retString += "\u202B" + new String(" ") + "\u202C";
        } else {
            retString += " ";
            retString += parts[i];
            retString += " ";
        }   
    }

    return retString;
}

但在所有情况下都不起作用:

如果是默认语言环境== ar我得到了以下结果:

enter image description here

如果是默认语言环境== en我得到了以下结果:

enter image description here

1 个答案:

答案 0 :(得分:3)

如果我理解正确,你的问题是,只要Locale不是阿拉伯语,附加方法就会向右边而不是左边添加文字,这就是写阿拉伯语文本的方式(从右到右)左)。

如果这是问题,您必须检查Locale,如果不是阿拉伯语,则需要将此属性设置为TextView或您正在使用的任何内容:

android:textDirection="anyRtl"

有关详细信息,请参阅this