Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 强制右转_Java_Android_Locale - Fatal编程技术网

Java 强制右转

Java 强制右转,java,android,locale,Java,Android,Locale,我构建了一个完全用阿拉伯语编写的应用程序。。 我需要的应用程序运行,如果设备语言是阿拉伯语,无论什么语言已经设置,因为该应用程序将只使用母语阿拉伯 这在设计中提供了许多优势,例如。。对话框警报中的标题位于右侧,导航抽屉位于右侧..等等 事实上,从另一个角度看很奇怪 强制使用区域设置是解决方案吗? 如果是,我是否必须创建新的资源文件,或者应用程序将读取默认文件,但根据区域设置重新格式化它们 如何做到这一点。。 提前感谢如果你的应用程序只支持阿拉伯语,你可以通过 if (Build.VERSION.

我构建了一个完全用阿拉伯语编写的应用程序。。 我需要的应用程序运行,如果设备语言是阿拉伯语,无论什么语言已经设置,因为该应用程序将只使用母语阿拉伯

这在设计中提供了许多优势,例如。。对话框警报中的标题位于右侧,导航抽屉位于右侧..等等 事实上,从另一个角度看很奇怪

强制使用区域设置是解决方案吗? 如果是,我是否必须创建新的资源文件,或者应用程序将读取默认文件,但根据区域设置重新格式化它们

如何做到这一点。。
提前感谢

如果你的应用程序只支持阿拉伯语,你可以通过

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
}
如果您的应用程序可以支持所有语言,则可以按照所选的
语言环境执行操作

Resources resources = getResources();
Locale locale = resources.getConfiguration().locale;
Configuration config = resources.getConfiguration();
config.locale = locale;
if (Build.VERSION.SDK_INT >= 17) {
    config.setLayoutDirection(locale);
}
resources.updateConfiguration(config, resources.getDisplayMetrics());

在AndroidManifest.xml的应用程序标签中声明
android:supportsRtl=“true”
,您只需在
AndroidManifest.xml
文件中声明
android:supportRtl=“true”
即可支持从右到左的布局。

您是否担心您的用户将手机设置为从左到右的语言?是的,那么多用户肯定会选择这个