是否可以手动设置我的应用程序的语言(而不是让用户通过设置?)

时间:2012-06-13 21:13:10

标签: java android mysql sqlite android-resources

  

可能重复:
  Set Locale programatically

我想在我的应用程序的初始屏幕上创建一个英语/西班牙语选项,并且想知道我是否可以利用Android优秀的语言分叉而不会通过设置发送用户来改变整个设备的语言设置。

我理解如何将它自己组合在一起如果不可能并且只是手动设置我的所有值,但我希望我能忽略某种方式让Android使用其语言系统来为我的应用程序,即使其余的系统保留在预设的任何位置。

TIA

2 个答案:

答案 0 :(得分:3)

是的,可以通过Android应用设置语言,以便只能从您的应用中看到更改:

Locale locale = new Locale("us");
Locale.setDefault(locale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config, this.getResources().getDisplayMetrics()); 

我认为这会对你有帮助。

答案 1 :(得分:2)

Resources res = getApplicationContext().getResources();

Locale locale = new Locale("us");
Locale.setDefault(locale);

Configuration config = new Configuration();
config.locale = locale;

res.updateConfiguration(config, res.getDisplayMetrics());