如何以编程方式更改Android应用程序区域设置/语言运行时

时间:2017-03-10 13:40:09

标签: android localization

如何更改Android应用程序区域设置/语言运行时/以编程方式,最佳实践方式?

我已经查看了其他解决方案,但他们获得了折旧的已接受的解决方案。希望这将是未来的参考。

2 个答案:

答案 0 :(得分:1)

我有同样的问题。 Here is the fix

答案 1 :(得分:-1)

适用于Android < N

Locale locale = new Locale(mLanguageCode);
Locale.setDefault(locale);
Configuration config = mContext.getResources().getConfiguration();
config.locale = locale;
mContext.getResources().updateConfiguration(
    config,
    mContext.getResources().getDisplayMetrics()
);
activity.recreate();

>= N

Locale locale = new Locale(mLanguageCode);
Locale.setDefault(locale);
Configuration config = mContext.getResources().getConfiguration();
config.setLocale(locale);
mContext.getResources().updateConfiguration(
    config,
    mContext.getResources().getDisplayMetrics()
);
activity.recreate();