安卓入门2-多语言实现
第一个程序的按钮和程序名为英文名,让我们来改成中文名称。
在values目录下新建一个资源文件:
命名为strings.xml,添加region和language字段,分别选cn和zh:
会产生新文件"strings.xml(zh-rCN)",将strings.xml中的英文改成中文:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">我的计算器</string>
<string name="button_name">确定</string>
<string name="action_settings">设置</string>
</resources>
注意将布局文件中的按钮名称改为strings中的id:
android:text="@string/button_name"
重新编译后在手机上运行则变成中文。
如果要在程序中动态更换语言,可用如下方式:
准备好各个语言的strings.xml文件,新加一个按钮button2用于语言切换,在onCreat中添加如下代码:
Button button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Configuration config = getResources().getConfiguration();// 获得设置对象
Resources resources = getResources();// 获得res资源对象
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
if(config.locale == Locale.CHINA)
config.locale = Locale.US;//英文
else
config.locale = Locale.CHINA; // 简体中文
resources.updateConfiguration(config, dm);
//更新语言后,destroy当前页面,重新绘制
finish();
Intent it = new Intent(MainActivity.this, MainActivity.class);
startActivity(it);
}
});
发表评论