最佳答案
我希望我的应用程序支持三种语言西班牙语,葡萄牙语和英语。并提供选择应用程序中的语言
1)可绘制文件夹可绘制文件夹可绘制文件夹可绘制文件夹可绘制文件夹可绘制文件夹。
2)3值文件夹的值-es,value-pt,value。根据语言更改 String.xml 值。
选择语言。当点击它的菜单打开,包括选项英语,西班牙语,葡萄牙语。
我通过这段代码在应用程序的选项选择上设置了区域设置
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.en:
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in English !", Toast.LENGTH_LONG).show();
break;
case R.id.pt:
Locale locale2 = new Locale("pt");
Locale.setDefault(locale2);
Configuration config2 = new Configuration();
config2.locale = locale2;
getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in Portugal !", Toast.LENGTH_LONG).show();
break;
case R.id.es:
Locale locale3 = new Locale("es");
Locale.setDefault(locale3);
Configuration config3 = new Configuration();
config3.locale = locale3;
getBaseContext().getResources().updateConfiguration(config3, getBaseContext().getResources().getDisplayMetrics());
Toast.makeText(this, "Locale in Spain !", Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}
我已在舱单 ConfigChanges = “ locale”中申报
它工作,但它有一些问题。
问题:-
1)语言选择时,包含语言选择图像的屏幕不变,但其他屏幕发生变化。
2)方向改变后,应用程序根据手机所在地恢复语言。