.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
我们知道资源被注册到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切换
出处:http://ymnets.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?