app国际化切换语言

首先需要有一个language的utils类来控制app内语言显示设置逻辑,

主要控制为resources.updateConfiguration和context.createConfigurationContext(configuration)   

主要是因为android7.0以上改变了更新configuration的方法。

1.在BaseApplication里面重写attachBaseContext方法和onConfigurationChanged初始化改变语言

2.在BaseActivity中也需要重写attachBaseContext方法

3.在选择语言界面,保存当前选择的语言返回MainActivity时 调用reCreate方法,重启主界面

4.另外一种方法是关闭当前activity在重新启动一个MainActivity,根据个人需求解决选择

mActivity?.finish()

MainActivity.start(mContext!!, true)//重新开启的时候可以发一个标识 开启后马上把tab显示到设置界面

mActivity?.overridePendingTransition(0, 0) //切换时去除动画


具体代码请参考demo:https://github.com/liulilei/LanguagesSwitchKotlin

你可能感兴趣的:(app国际化切换语言)