我有一个拥有核心和库的项目
我在核心项目中的运行时更改了我的语言环境。
问题是,在图书馆项目中有一个
Locale.getDefault();
仅返回设备的区域设置,但不返回应用的区域设置。这意味着,当我在我的应用程序中将语言环境更改为法语时,如果我的设备使用英语,则通过库项目获取的语言环境仍为英语。怎么解决?感谢
答案 0 :(得分:1)
您可以更改默认语言区域。
您可以尝试使用以下代码:
Locale locale = new Locale("fr"); //if you want to change to French
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
或制作语言环境设置器方法:
public void setLocale(String newLocale) {
Locale locale = new Locale(newLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics() );
}