将语言从英语切换为阿拉伯语时,布局从左向右变换。如何从左到右更改textView。 示例(英语)拉梅什以34kmph的速度驾驶。 (阿拉伯语)hpmk43深陷一个新的gnivird hsemaR
编辑1:请找到下面的图片是否正确?
答案 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_marginLeft
和
android:layout_marginEnd
取代android:layout_marginRight
对于left-to-right
流程,start=left
,end=right
。
对于right-to-left
流程,start=right
,end=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
文件中的元素。