我们知道资源被注册到R.java我们通过R.java就可以读取到界面中的组件。跟我们.net一样,通过ID来读取组件
知识点:
- 通过R.java读取组件
- MainActivity.java通过findViewById方法查找组件
- 在Layout中用@string查找字符串,这个跟我们MVC中国际化基本相识,通过xml这种资源引用进行中文和英文切换
- 加入中文和英文本地化
双击fragment_main.xml设计视图,拖入一个Button和一个TextView,并双击进入xml代码
添加android:onClick,我也是靠猜的,程序代码都有相似性,特别是java与javascript。不过我们还是查找帮助文档比较好
输入android:onClick="SetTextView"
那么这段跟javascript一样,后台必须有SetTextView方法在监听这个事件
打开我们的MainActivity.java加入方法
public void SetTextView(View v) { TextView tv=(TextView)findViewById(R.id.textView1); tv.setText("点击了按钮我要变了!"); }
运行看下效果,做了个lable字体设置好像没什么好炫耀的
OK。现在我们来看看怎么进行中英版本的切换!
我们的Button名字是Button,当手机系统设置为中文时候,应该是按钮字样,英文时候显示Button
现在打开Res-----values----string.xml 添加一个属性 (这里等于.net国际化的res资源文件。有健值对应的xml)
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">HelloWorld</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="Btn_Name">Button</string> </resources>
<string name="Btn_Name">Button</string>
在Values创建文件夹values-zh-rCN并复制values下的string.xml 到values-zh-rCN把Button改成按钮
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">HelloWorld</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="Btn_Name">按钮</string> </resources>
回到layout把button的text从Button改成@string/Btn_Name
其实这里的@就是R的意思。也就是R.String.Btn_Name我们可以打开R.java观察到Btn_Name
运行并打开切换系统的版本运行模拟器里面的CustomLocale切换
本文转自ymnets博客园博客,原文链接:http://www.cnblogs.com/ymnets/p/3713387.html,如需转载请自行联系原作者