Android编程实现获取当前系统语言及地区并更改语言的方法
本文实例讲述了Android编程实现获取当前系统语言及地区并更改语言的方法。分享给大家供大家参考,具体如下:
如果想获取手机的当前系统语言,可以通过Locale类获取,主要方法:
Locale.getDefault().getLanguage()
返回的是es或者zh;通过
Locale.getDefault().getCountry()
获取当前国家或地区,返回为CN或US;
如果当前手机设置为中文-中国,则使用此方法返回zh-CN,同理可得到其他语言与地区的信息。
1.首先,如果要程序自动适应系统语言进行转变,可以在res下添加相应的语言文件夹:如:添加中文,则文件夹命名为values-zh-rCN,如果不清楚需要的名字可以到:E:\android-sdk-windows\platforms\android-8\data\res,如这样的文件夹下寻找。这样就可以让程序自动适应系统的语言来选择语言。
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保存当前的语言设置
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关文章
Android App中使用SurfaceView制作多线程动画的实例讲解
这篇文章主要介绍了Android App中使用SurfaceView制作多线程动画的实例讲解,SurfaceView经常被用来制作游戏中的动画,不过同时要注意画面闪烁的问题,需要的朋友可以参考下2016-04-04Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)
这篇文章主要介绍了Android EditTextView 实现带空格分隔的输入(电话号码,银行卡)的相关资料,需要的朋友可以参考下2018-02-02Flutter 封装一个 Banner 轮播图效果的实例代码
这篇文章主要介绍了Flutter 封装一个 Banner 轮播图效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-07-07
最新评论