先看效果图.

  

  点击之后出变成

  

  按钮内容改变了,并且弹出一个小提示

 下面我们就来看看如何实现这个小案例

1)先打开string.xml文件,把要定义的字符串资源放置在里面

2)然后我们要画页面,基本Android开发都是先画页面

  从页面中可以看到需要一个按钮,找到android项目中的activity_main.xml文件打开

  

  

再往下看,进入activity_main.xml页面后的步骤

  

这里解释一下代码的意思:

  <Button/>指的是定义一个Button控件 ,它直接显示在我们的activity_main.xml中,等于是我们往界面文件中添加了一个button

  属性:android控件有很多属性,我们这里不一一列举,主要讲一下上面几个属性的作用

  android:id="@+id/button"-->

  该属性的作用是:给当前的Button控件指定一个唯一值

  值得意思是:给当前这个Button控件在R.java文件中添加一个句柄值,用来方便管理这个Button控件

  android:layout_width:

  作用:指定Button控件的宽度;

  值:有wrap_content:根据内容宽度变化,内容有多宽,就有多宽

    fill_parent:扩展到父元素的宽度

    match_parent:扩展到父元素的宽度,与fill_match相同

    也可以指定像素值也就是具体值:单位主要有,sp,px,dp[dpi],例如android:layout_width="10px"

  andoid:layout_height

  与android:layout_height相同

此时可以如果直接运行可以看到界面已经画出来了,只是点击还没有效果

所以需要在MainActivity.java中插入代码

这里我们要注意的方法就是

第一:findViewById();这个方法是MainActivity继承自Activity类的方法,它通过句柄值可以直接放回控件的对象

第二:setOnClickListener():这是给控件设置一个点击监听的方法,这个方法需要一个接口参数的实例,这里使用了匿名内部类的写法,不了解的可以先去看一下匿名内部类

第三:setText():方法修该控件的值

第四:Toast.makeText(context, resId, duration);

  第一个参数context指的是需要一个上下文对象,可以通过MainActivity继承的方法getApplicationContext()直接获得上下文对象,也可以直接使用MainActivity

  这里就有疑问了,为什么要的Context对象getApplicationContext()返回的是Context可以理解,为什么,MainActivity也可以呢,我们这里来看一下图片

     ,我们查看一下Activity类

  ,在查看Activity的父类,

  ,在往上查看

  可以看到,Activity间接继承了Context,所以这里我们可以直接使用MainActivity做参数

  第二个参数:resId设置提示的信息

  第三个参数: 设置提示信息的时间Toast.LENGTH_LONG指的是常量1 , Toast.LENGTH_SHORT指的是整形常量0

好了,以上基本上就是我们的基本的一个小案例了

  

我的Android第三章的更多相关文章

  1. 我的Android第三章:Android的组件介绍

    小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...

  2. [Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程

    [Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程 本章包含如何在 Android Studio 中书写或生成代码. Android Studio ...

  3. 《Android群英传》读书笔记 (2) 第三章 控件架构与自定义控件详解 + 第四章 ListView使用技巧 + 第五章 Scroll分析

    第三章 Android控件架构与自定义控件详解 1.Android控件架构下图是UI界面架构图,每个Activity都有一个Window对象,通常是由PhoneWindow类来实现的.PhoneWin ...

  4. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感

    第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...

  5. Android艺术开发探索第三章————View的事件体系(下)

    Android艺术开发探索第三章----View的事件体系(下) 在这里就能学习到很多,主要还是对View的事件分发做一个体系的了解 一.View的事件分发 上篇大致的说了一下View的基础知识和滑动 ...

  6. Android艺术开发探索第三章——View的事件体系(上)

    Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 Motion ...

  7. Android群英传笔记——第三章:Android控件架构与自定义控件讲解

    Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...

  8. 第三章Android移植平台工具介绍

    第三章Android移植平台工具介绍 进行 Android 移植的学习并不一定需要一款 Android 手机,但必须要有一款主流的开发板,开发板是用来进行嵌入式系统开发的电路板,包括中央处理器.存储器 ...

  9. Android教材 | 第三章 Android界面事件处理(二)—— 杰瑞教育原创教材试读

     编者按 JRedu 杰瑞教育原创系列教材将于年后与大家正式见面.为更好的借鉴读者意见,我们将会陆续地在博客园推出一系列教材试读.我们也热忱的欢迎广大博友与我们互动,提出宝贵意见. 本篇博客将推出教材 ...

随机推荐

  1. ASP.NET MVC 项目中 一般处理程序ashx 获取Session

    1-在 aspx和aspx.cs中,都是以Session["xxx"]="aaa"和aaa=Session["xxx"].ToString( ...

  2. Jmeter参数化

    使用jmeter时有时需要访问不同的uri,或POST不同的数据.这时候可以对数据参数化,将数据写入文件,再从文件读取.下面举个例子说明如何使用CSV Data Set Config参数化. 这里有两 ...

  3. The shortest path---hdu2224 && Tour---poj2677(旅行商问题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2224 题意:平面上有n个点,问去的路只能从左到右,回的路只能从右到左的,且来回必须经过所有点的最小路径 ...

  4. 对Live Writer支持的继续改进:设置随笔地址别名(EntryName)

    在我们发布[功能改进]Live Writer发博支持"建分类.加标签.写摘要"之后,Artech提了一个很好的建议:希望在Live Writer发布随笔时可以设置EntryName ...

  5. Python学习【第八篇】Set集合

    Set集合 set集合是无序,不能重复,可嵌套的序列 如何创建 li = [] dic = {"k1":123} se = {"123","456&q ...

  6. jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据

    jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() ...

  7. Unity 编译apk启动出异常

    问题:unity 编译出来的apk,在android安装启动,时报以下错误: 07-06 20:52:48.282: E/linker(18229): load_library(linker.cpp: ...

  8. ios - block循环引用Demo示例

    当实例变量中有了block属性,并且用copy来修饰,但是当调用block中的代码的时候,如果block中运用了self.属性的时候回造成循环引用. // // ViewController.h // ...

  9. 从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a解决办法

    1.在命令行中输入:dcomcnfg,会显示出“组件服务”管理器 2.打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选 ...

  10. BufferedReader与Scanner的区别

    在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...