是否可以在仍然使用Android资源的同时以编程方式更改应用程序的语言?
如果没有,是否可以请求使用特定语言的资源?
我想让用户从应用程序更改应用程序的语言.
是否可以在仍然使用Android资源的同时以编程方式更改应用程序的语言?
如果没有,是否可以请求使用特定语言的资源?
我想让用户从应用程序更改应用程序的语言.
这是可能的.您可以设置区域设置.然而,我不建议这样做.我们在早期阶段就try 过,它基本上是在对抗体制.
我们对更改语言有相同的要求,但决定接受UI应该与Phone UI相同的事实.它是通过设置地点来工作的,但是太麻烦了.根据我的经验,您必须在每次进入活动(每个活动)时设置它.如果您仍然需要这个代码,这里有一个代码(同样,我不建议这样做)
Resources res = context.getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.setLocale(new Locale(language_code.toLowerCase())); // API 17+ only.
// Use conf.locale = new Locale(...) if targeting lower versions
res.updateConfiguration(conf, dm);
如果您有语言特定内容-您可以根据设置进行更改.
update on 26th of march 2020
public static void setLocale(Activity activity, String languageCode) {
Locale locale = new Locale(languageCode);
Locale.setDefault(locale);
Resources resources = activity.getResources();
Configuration config = resources.getConfiguration();
config.setLocale(locale);
resources.updateConfiguration(config, resources.getDisplayMetrics());
}