安卓应用内语言切换

2018-11-01  本文已影响0人  Sbdu

最近的项目中有个需求要在商品售卖页面进行中英文切换,自己想了一个解决方案。

1.配置中英文对应的values(安卓只有在找不到对应语言下的string.xml才会去默认的values/string.xml中找)

2.使用SharedPreferences来记录当前应用保存的语言,进入应用时恢复上次保存的语言。

3.点击商品是切换语言(需要重建页面,否则不生效)。


注:Locale.getDefault().getLanguage()。  该方法为获取系统语言,对于应用内切换不适用。

关于切换配置来改变应用语言的核心代码其实就下面几句:

Configuration config = getResources().getConfiguration();//获取配置

String language = config.locale.getLanguage();//获取当前语言

config.locale = Locale.ENGLISH;//根据当前语言来判断,并更改当前语言

getResources().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics());//更新配置

recreate();//重启activity

下面就是我自己应用的实现了,点击切换语言:

changeConfig:

自己想的拙计- -!如果有好的建议欢迎留言。

上一篇 下一篇

猜你喜欢

热点阅读