如何将语言从英语切换到阿拉伯语,以便从右到左阅读?

时间:2017-01-07 06:48:06

标签: android multilingual arabic-support

将语言从英语切换为阿拉伯语时,布局从左向右变换。如何从左到右更改textView。 示例(英语)拉梅什以34kmph的速度驾驶。 (阿拉伯语)hpmk43深陷一个新的gnivird hsemaR

编辑1:请找到下面的图片是否正确?

Arabic version English Version

3 个答案:

答案 0 :(得分:1)

setLocale("en"); //设置英文

setLocale("ar"); //设置阿拉伯语

public void setLocale(String lang) {
        Locale locale = new Locale(lang);
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale;
        getBaseContext().getResources().updateConfiguration(config,
                getBaseContext().getResources().getDisplayMetrics());
    }
将语言环境设置为英语后,

将自动RTL,LTR将语言环境设置为阿拉伯语。 //不要忘记重新启动你的应用。设置区域设置后

  

无需改变重力

答案 1 :(得分:1)

要使TextView适用于RTL,您应该添加RTL的布局属性。

使用android:layout_marginStart代替android:layout_marginLeftandroid:layout_marginEnd取代android:layout_marginRight

对于left-to-right流程,start=leftend=right

对于right-to-left流程,start=rightend=left

这个RTL支持在API Level 17中添加,作为Android 4.2对RTL布局的支持的一部分。 这会对你有所帮助 https://developer.android.com/about/versions/android-4.2.html#RTL

答案 2 :(得分:0)

将所有应用的left/right布局属性更改为新的start/end等效内容。

简单地说,请在android:gravity中使用。

不要忘记在您的应用Manifest中声明您的应用支持RTL镜像:将android:supportsRtl="true"添加到Manifest文件中的元素。