2012-06-13 109 views
3

可能重复(而不是让用户去通过设置?):
Set Locale programatically是否可以手动设置语言,我的应用程序

我想创造一个英语/西班牙语选项的选择,并想知道我是否可以利用Android的出色语言分支而不需要通过设置来改变整个设备的语言设置。

我明白如何自己拼凑它,如果这是不可能的,只是手动设置我所有的值,但希望我忽略了一些方法,让Android使用它的语言系统为我的应用程序,即使其余系统的剩余部分保持在预设的范围内。

TIA

回答

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()); 

我认为这会帮助你。

+0

可爱,这正是我想要的。 –

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()); 
相关问题