原文:.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化

我们知道资源被注册到R.java我们通过R.java就可以读取到界面中的组件。跟我们.net一样,通过ID来读取组件

知识点:

  1. 通过R.java读取组件
  2. MainActivity.java通过findViewById方法查找组件
  3. 在Layout中用@string查找字符串,这个跟我们MVC中国际化基本相识,通过xml这种资源引用进行中文和英文切换
  4. 加入中文和英文本地化

双击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切换

.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化相关推荐

  1. .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译

    原文:.Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译 apk(android package)就是我们安卓系统的安装文件,可以在模拟器和手机中直接打开安装,从项目中打包 ...

  2. .Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建

    .Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建 原文:.Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建 闲来没事做,还是想再学习一门新的技术,无论何时 ...

  3. .Net 转战 Android 4.4 日常笔记(3)--目录结构分析

    看了创建项目后,出现的文件夹很多确实有点晕,不过经过简单的了解还是跟我们asp.net的目录有点相识滴. 下面这张图,概括了主要的文件用途.其实也只需要了解这几个就差不多了,知道在那里设计界面,那里写 ...

  4. [转]android-学习笔记之按钮事件

    本文转载自: http://zhangkun716717-126-com.iteye.com/blog/761080 前备知识: 1.需要了解怎么得到界面元素. 那么如何得到界面元素呢?在界面配置文件 ...

  5. android hook截取其他程序的按钮事件_Hook技术

    概述 Hook,英文直译是"钩子"的意思.在程序中将其理解为"劫持"可能会更好理解,我们可以通过hook技术来劫持某个对象,从而控制它与其他对象的交互. Hoo ...

  6. JAVA 学到什么水平就可以转战 Android 了?

    田元 ,Android学习群:156562475,NONo笔记App作者 神兔兔.杨然.Kenkon Hu 等人赞同 先简单的分两种情况: 一.有编程基础,或者科班出身的,直接上吧.强烈推荐郭霖老师的 ...

  7. 从Eclipse转战Android Studio坑之——百度地图

    相信大家都知道如果一个项目做到一半忽然要从Eclipse转战Android Studio那肯定不太容易 ,特别是在项目引用较多第三方平台的时候(因为很多第三方平台的SDK在两个开发工具上的导入和引用方 ...

  8. .net程序员转战android第三篇---登录模块之静态登录

    这一篇我将分2个部分记录登录界面,第一部分是静态登录, 这部分将如何从界面布局.控件使用.文件关系.数据验证.登陆实现等5小块记录. 第二部分是动态登录,这块会基于上面的4小块,在数据验证不是静态数据 ...

  9. 【Android】Parse开发笔记(1)—— 准备

    一.简介 Parse是由 YC 孵化出来的.专为移动应用提供后台服务的云计算平台,为开发者包办繁琐的后台服务,让开发者只需专注于具体的开发工作.它提供任意数据保存.照片或其它文件存储.发送推送通知.创 ...

最新文章

  1. 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。
  2. 爱德华·斯诺登:区块链只是新型数据库,比特币终会消失
  3. 通信大数据应用未来还有很大的想象空间
  4. 云炬Android开发笔记 14 个人中心、图片裁剪、图片上传、收货地址、消息推送、权限管理等功能开发与一键式封装
  5. 将php数组存取到本地文件
  6. mysql jdbc url设置时区
  7. frida hook java层常用模板
  8. 数学差、物理差、英语又烂的放牛娃,后来竟成了清华校长,还做出了诺奖级的研究成果...
  9. android 获取编译日期,flutter学习笔记(2)android编译,以及如何加快首次编译时间。...
  10. (筆記) Continuous Assignment的幾個特色 (SOC) (Verilog)
  11. Java使用ttf字体下载网站
  12. 安卓手机管理_时间管理大师手机版下载-时间管理大师app下载v1.0.0 安卓最新版...
  13. 机器学习周刊第二期:深度学习上了Nature
  14. 这篇文章能让你吃透SVG
  15. 想裁剪视频时长,用电脑怎么裁剪视频时长
  16. 要不做一名 Prompt Engineer
  17. micropython 串口 wifi_MicroPython实现wifi干扰与抓包
  18. mysql 两表拼接_数据库将两张表进行横向连接(拼接成一张表的形式显示)
  19. qt 一个应用程序有2个主窗口,任务栏只有一个应用程序图标
  20. LintCode-解码方法

热门文章

  1. Python 超快生成大量随机数的方法
  2. Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)
  3. pip更换国内镜像源
  4. mysql 查询语句 参数,mysql参数化查询语句有关问题
  5. Zookeeper watch机制
  6. QT信号与槽——观察者模式——回调函数
  7. What is OPcache
  8. android Camera照相机技术(一)
  9. python饼图怎么显示中文_python生成饼图解决中文乱码
  10. 兼容性自动化测试 | HUAWEI DevEco Studio云测服务等您来体验