gpt4 book ai didi

java - 如何更改 Android O/Oreo/api 26 应用程序语言

转载 作者:IT老高 更新时间:2023-10-28 20:50:12 25 4
gpt4 key购买 nike

我想更改应用程序的语言,这在 API 26 之前可以正常工作。

对于 api > 25,我将 Locale.setDefault(Locale.Category.DISPLAY, mynewlanglocale); 放在 setContentView(R.layout.activity_main); 之前,但没有任何变化。

docs这个不用过多解释。

最佳答案

我遇到了同样的问题:由于 Android 8.0+,我的应用程序的某些部分不再更改它们的语言。更新应用程序和 Activity 上下文对我有帮助。下面是 MainActivity 函数的一个例子:

private void setApplicationLanguage(String newLanguage) {
Resources activityRes = getResources();
Configuration activityConf = activityRes.getConfiguration();
Locale newLocale = new Locale(newLanguage);
activityConf.setLocale(newLocale);
activityRes.updateConfiguration(activityConf, activityRes.getDisplayMetrics());

Resources applicationRes = getApplicationContext().getResources();
Configuration applicationConf = applicationRes.getConfiguration();
applicationConf.setLocale(newLocale);
applicationRes.updateConfiguration(applicationConf,
applicationRes.getDisplayMetrics());
}

关于java - 如何更改 Android O/Oreo/api 26 应用程序语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47165311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com