(原创)获取系统语言方式及动态全局切换语言方式
1.获取当前系统语言
Locale locale = Constants.context.getResources().getConfiguration().locale;
String language = locale.getLanguage();//“zh”为中文,“en”为英文...
2.动态切换全局语言,注意:一般情况下都是需要关闭当前app再重新启动才不会崩溃,但是可以在清单文件配置后就可以实现不关闭情况下正常运行
(1).AndroidManifest.xml清单文件配置语言不跟随系统变化(避免用户手动到系统设置里面切换语言导致当前app崩溃的情况)
//其中android:configChanges="locale|layoutDirection|navigation|fontScale"作用就是不跟随系统语言变化</span><activity
android:name=".MainActivity"
android:configChanges="locale|layoutDirection|navigation|fontScale"
android:launchMode="singleTask"
android:screenOrientation="portrait"/>
(2).当前app动态全局切换语言:注意这只是切换自身app当前全局语言而非手机系统的语言
Configuration config = UIUtils.getResources().getConfiguration();
if (”添加条件“) {//切换中文
config.locale = Locale.CHINA;
} else {//切换英文
config.locale = Locale.ENGLISH;
}
//更新配置环境
getContext().getResources().updateConfiguration(config, null);
3.最后也就是需要添加中英文res文件夹---里面存放需要切换的string字符串,注意中英文name="名称"里面的"名称"要中英文一致,切换语言系统会自动寻找(没有该文件夹自行创建)
values/string.xml为默认显示文本
values-en/string.xml为切换英文显示文本
values-zh/string.xml为切换中文显示文本
本文详细介绍了在Android应用中如何获取当前系统语言,以及如何动态全局切换应用的语言,无需重启应用。通过在AndroidManifest.xml进行配置,可以避免因用户手动切换系统语言导致应用崩溃的问题。同时,需在应用资源文件夹中设置中英文字符串资源,确保切换时能正确匹配。
获取系统语言方式及动态全局切换语言方式&spm=1001.2101.3001.5002&articleId=51188317&d=1&t=3&u=bec1d34740704f83adb62ad58df5d584)
1162

被折叠的 条评论
为什么被折叠?



