一、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);
}