一、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);
复制代码