如何在Android中更改设备的默认语言环境

时间:2019-03-28 06:59:49

标签: android localization locale

我已经声明了名为"values-mm"的自定义值资源。 每当我尝试使用值为"mm"的以下代码段更改应用程序的语言环境时,语言环境都不会更改。而是将默认的"en_US"用作语言环境。

 public void changeLanguage(String languageToLoad) {
    showLog("Language to be loaded :-  " + languageToLoad);
    Locale locale = new Locale(languageToLoad);

    Locale.setDefault(locale);

    Resources resources = getApplicationContext().getResources();
    Configuration config = resources.getConfiguration();
    config.setLocale(locale);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        createConfigurationContext(config);
    } else
        resources.updateConfiguration(config, resources.getDisplayMetrics());
}    

任何想法这有什么问题吗?我还宣布了

android:configChanges="keyboard|keyboardHidden|orientation|layoutDirection|locale"。请帮我解决一下这个。我坚持了太久了。

0 个答案:

没有答案