一、app 名称跟随系统语言
首先在res目录下新建文件夹和values平级,名称如图所示,然后各在里面添加strings.xml文件,前面会显示国旗图标。
英文strings.xml内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">test</string>
</resources>
中文strings.xml内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">测试</string>
</resources>
这样在AndroidManifest.xml中引用app_name的时候,会自动选择语言。引用其他字符串也是同样,只要在strings.xml里面添加对应的标签和不同的语言字符就行。
二、获取系统语言,加载不同布局
定义变量获取当前系统语言。
import java.util.Locale;
String locale_language = Locale.getDefault().getLanguage(); //获取当前系统语言;
根据语言,判断加载哪一个布局 (layout)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(locale_language == "zh")
setContentView(R.layout.activity_test_cn);
else if(locale_language == "en")
setContentView(R.layout.activity_test_en);
最后送福利了,现在关注我并且加入群聊可以获取包含源码解析,自定义View,动画实现,架构分享等。 内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。 大家可以跟我一起探讨,欢迎加群探讨,有flutter—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿~ 群号:661841852
资料
网友评论