2

嘿伙计们,我正在开发同时支持英语和阿拉伯语的应用程序,英语版本运行良好,但阿拉伯语在 Android N 下无法正常运行

Locale locale = new Locale("ar");
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    context.getApplicationContext().getResources().updateConfiguration(config, null)
4

2 回答 2

1

首先,检查您的设备是否支持阿拉伯语。

其次,确保使用以下方法在运行时为不同的 API 更改 Android 上的语言:

updateConfiguration对于 API < 17

createConfigurationContextAPI ≥ 17

有关更多信息,请查看以下文章:change-language-programmatically-at-runtime

于 2017-11-06T08:22:05.660 回答
0

您需要更新资源中的配置以及较低的 API。尝试这个:

Locale locale = new Locale("ar");

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    context.getApplicationContext().getResources().updateConfiguration(config, null);
} else {
    Configuration config = new Configuration();
    config.locale = locale;
    Locale.setDefault(config.locale);
    Resources resources = applicationContext.getResources();
    resources.updateConfiguration(config, resources.getDisplayMetrics());
}
于 2017-11-06T08:40:48.017 回答