相关疑难解决方法(0)

Android上从右到左语言的状态是什么?

我需要创建一个包含多种语言字符串的应用程序,包括RTL(从右到左)语言.我想知道Android上的RTL(从右到左)支持的当前状态(即使在最新的API上),例如:

  1. 是否可以动态/静态地检查设备的当前语言是否为RTL类型?我知道可以获取当前的语言环境,但我需要一种更通用的方法来检查当前语言是否为RTL.例如,对于英语和法语,它将返回false,但对于阿拉伯语和希伯来语,它将返回true.

  2. 是否可以设置一个布局自动镜像为RTL语言?例如,如果linearLayout(具有水平方向)的子项为1-> 2,则现在它将具有2 <-1,并且将在左侧创建新子项.

  3. 是否有一个限定符添加到将处理所有RTL语言的资源文件夹?例如,"res/layout"用于LTR(从左到右),"res/layout-rtl"用于RTL语言.

  4. 似乎eclipse的内容辅助建议使用linearLayout的"android:layoutDirection"和textView的"android:textDirection",但是当我选择它们时,我得到一个它无法识别它们的编译错误.我也无法在互联网上找到有关这些属性的更多信息.他们是什么意思,为什么我不能使用它们?

编辑:似乎Android 4.1在RTL语言上有一些改进.不知道它们是什么以及我可以在哪里阅读它们.

resources android locale right-to-left

14
推荐指数
1
解决办法
6915
查看次数

连接阿拉伯语和英语文本android 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;
}
Run Code Online (Sandbox Code Playgroud)

但并非在所有情况下都有效:

如果默认区域设置== ar,我得到以下结果:

在此输入图像描述

如果默认区域设置 == en 我得到以下结果:

在此输入图像描述

android localization textview

1
推荐指数
1
解决办法
2053
查看次数

android - 我怎么能使用"android:layoutDirection"? - 再次

有人可以帮助我如何使用这个属性android:layoutDirection,

请不要向我推荐这个问题Android上的Right To Left语言的状态是什么?因为它没有回答我的问题!

android android-layout android-linearlayout

-1
推荐指数
1
解决办法
3037
查看次数