我正在创建一个应用程序,其中我想要一个页面,我在其中显示语言选择页面。到目前为止,我已经包括英语,印地语和马拉地语,英语设置为默认值。
我的问题是:
如何在选定语言中更改整个应用程序语言?
每当我重新打开应用程序时选择语言后,它会提供以前选择的语言吗?
答案 0 :(得分:3)
将所有文本放在String文件中。对于每种语言,创建单独的String文件(Deutsch values-de / strings.xml,法语值-fr / strings.xml) 而您需要更改语言调用以下功能。对于英语语言,将" en" 设置为另一组相应的键
val config = resources.configuration
val locale = Locale("en")
Locale.setDefault(locale)
config.locale = locale
resources.updateConfiguration(config, resources.displayMetrics)
Configuration config = GetBaseContext().getResources().getConfiguration();
Locale locale = new Locale("en");
Locale.setDefault(locale);
config.locale = locale;
GetBaseContext().getResources().updateConfiguration(config,
GetBaseContext().getResources().getDisplayMetrics());
答案 1 :(得分:0)
String lang= "en";
public void changeLang(String lang) {
Configuration config = getBaseContext().getResources().getConfiguration();
if (!"".equals(lang) && !config.locale.getLanguage().equals(lang)) {
locale = new Locale(lang);
Locale.setDefault(locale);
Configuration conf = new Configuration(config);
conf.locale = locale;
getBaseContext().getResources().updateConfiguration(conf, getBaseContext().getResources().getDisplayMetrics());
}
}
尝试这种方法......这肯定会有效.. 当您选择首选语言时,请在此方法中传递所选语言代码,这将更改整个应用程序的语言。