本文实例讲述了Android编程实现获取当前系统语言及地区并更改语言的方法。分享给大家供大家参考,具体如下:
如果想获取手机的当前系统语言,可以通过Locale类获取,主要方法:
Locale.getDefault().getLanguage()
返回的是es或者zh;通过
Locale.getDefault().getCountry()
获取当前国家或地区,返回为CN或US;
如果当前手机设置为中文-中国,则使用此方法返回zh-CN,同理可得到其他语言与地区的信息。
1.首先,如果要程序自动适应系统语言进行转变,可以在res下添加相应的语言文件夹:如:添加中文,则文件夹命名为values-zh-rCN,如果不清楚需要的名字可以到:E:android-sdk-windowsplatformsandroid-8datares,如这样的文件夹下寻找。这样就可以让程序自动适应系统的语言来选择语言。
2.如果我们想在程序内部可以手动地选择语言则:
a.首先获得当前的语言或者国家:
String able= getResources().getConfiguration().locale.getCountry();
b.进行判断:如果是中文则返回的
able.equals("CN")
c.进行设置的代码为:
//选择中文
Configuration config = getResources().getConfiguration();
DisplayMetrics dm = getResources() .getDisplayMetrics();
config.locale = Locale.SIMPLIFIED_CHINESE;
getResources().updateConfiguration(config, dm);
d.最后用sharedPreferences保存当前的语言设置