我们都知道Android应用程序可以根据不同语言环境的支持进行高度自定义.在我的情况下,我的应用程序目前支持6个语言环境,一切顺利.每当用户选择手机区域设置时,应用程序切换到另一个区域设置,所有菜单,消息都使用本地语言.
现在问题是我希望以编程方式抑制应用程序中的特定区域设置,因为我将使用不同的渠道,定价政策等在不同国家/地区分发应用程序(并非总是通过Android Market).因此,如果应用程序用于说中国 – 用户无法将语言环境切换为英语或法语.
最简单的方法是从应用程序中删除其他语言环境资源 – 我理解这一点.但是从源维护的角度来看它并不是很舒服,所以我更倾向于采用一些编程方式来减少/抑制应用程序中的某些语言环境.
有任何想法吗?
解决方法:
使用此代码……
private void callSwitchLang(String langCode) {
Locale locale = new Locale(langCode);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
onCreate(null);
}
在那个方法中你通过你选择的语言代码….