大家都知道 android 支持多语言的方式是在资源文件中根据语言配置不同的资源,如strings.xml
可以配置zh
、en
等来支持不同的语言,然后 android 会根据手机系统的语言自动调用不同的资源。
然而有时我们需要在不改变手机系统语言设置的情况下动态切换 app 的语言。
动态切换应用运行时语言
//设置应用语言类型
Configuration config = res.getConfiguration();
DisplayMetrics dm = res.getDisplayMetrics();
if (lang.equals("zh")) {
config.locale = Locale.SIMPLIFIED_CHINESE;
} else {
config.locale = Locale.ENGLISH;
}
res.updateConfiguration(config, dm);