我尝试的内容如下
final Locale locale = new Locale("en", "US");
Locale.setDefault(locale);
final Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
我想为整个应用程序设置一个特定的语言环境,我在Application类级别进行设置,但是上面给定的行似乎不起作用,因为我从日期选择器的设置更改Locale语言规范不具有应用程序类指定的语言环境的效果,并从设置语言规范中获取语言环境。
答案 0 :(得分:1)
我不确定它是否可以在应用程序级别设置区域设置,因为我自己没有尝试过。
解决方法(我知道有效)是创建一个超级活动,例如MyActivity extends Activity
。把代码
final Locale locale = new Locale("en", "US");
Locale.setDefault(locale);
final Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
在MyActivity的onCreate()
方法中,让您的所有活动扩展MyActivity而不是Activity。