《Android编程权威指南》-读书笔记(五)-挑战练习

《Android编程权威指南》-读书笔记(五)

-挑战练习

为了巩固学习,为了建立信心。开始进行如下挑战:

挑战练习一:为TextView添加监听器

书中给出了提示,TextView,Button都是View的子类,都可以设置OnClickListener()直接加入如下代码:

mQuestionTextView.setOnClickListener(new View.OnClickListener(){

@Override

public void onClick(View v){

mCurrentIndex = (mCurrentIndex+1) % mQuestionBank.length;

updateQuestion();

}

});

本次修改修改了一个文件,直接在逻辑层给TextView绑定一个事件就可以了。

添加有代码如下:

http://git.oschina.net/canglin/GeoQuiz/commit/6b35ec258c780c9a9d4016c9c3a29e568f21a489

挑战练习二:添加后退按钮

  • 首先我们要在 layout/activity_quiz.xml里添加控件
  • 然后我们在values/strings.xml里添加按钮上的文字
  • 定义mPrevButton的变量
  • 定义PrevButton的事件

在添加控件后,按钮会顺序排列,为了让2个button在一行,我用了一个LinearLayout他的orientation属性为horizontal。

在定义按钮的文字的时候,我还是用的@string/prev_button,然后在strings.xml里面添加了文字

当Prev按钮到达问题的第一个的时候,我们停止回退。代码如下:

mPrevButton.setOnClickListener(new View.OnClickListener(){

@Override

public void onClick(View v) {

if(mCurrentIndex >0)

{

mCurrentIndex--;

}

updateQuestion();

}

});

本次挑战我修改了3个文件

代码如下:

http://git.oschina.net/canglin/GeoQuiz/commit/a7868341ae5efff75a024f5e7e6f5197875d0517

挑战练习三:从按钮到图标按钮

要求:将用户界面上的普通Button组件替换成ImageButton组件。

ImageButton组件继承ImageView。Button组件则继承Textview。他们的继承关系如下:

所以他们是可以直接替换掉的,但是ImageButton是没有Text属性的所以这个属性必须删除掉必须删除掉。

所以代码应该是这个样子的。当然2个变量mPrevButton,mNextButton记得要改成ImageButton类型,还有逻辑代码里面获取对象实例也要改成ImageButton。

本次修改修改了2个文件

代码如下:

http://git.oschina.net/canglin/GeoQuiz/commit/3ceadc8f6089801f187a697dfb03185c31c72612

本次挑战我获得了如下收获:

  • 熟悉了给TextView、Button、ImageButton添加OnClickListener()
  • LinearLayout用以布局。
  • 新控件ImageButton,以及与Button之间的关系。
时间: 2024-10-01 05:39:23

《Android编程权威指南》-读书笔记(五)-挑战练习的相关文章

Android编程权威指南-读书笔记(二)-第一个小程序

Android编程权威指南-读书笔记(二) -第一个小程序 第一个例子介绍 应用名为GeoQuiz.用户通过单击True或False按钮来回答屏幕上的问题,GeoQuiz可即时反馈答案正确与否. 这个例子为我们简单介绍了几个基本组件的使用,以及基本的事件监听.让我们对基本组件的使用和事件的监听有一个基本的了解. 这篇文章分为2个部分,第一部分就是创建简单的UI.第二个部分就是对这个UI增加代码来响应一些操作. (注:所有不明白或者不理解的东西其实都不重要,后面都会有更详细的介绍.) 本章的目标

android开发权威指南读书笔记

第17章 Fragment 1.在res目录下增加 layout-sw600dp 目录,用于存放7英寸及以上尺寸屏幕的布局文件.10英寸以上平板用 sw720dp.如果是更小的屏幕,如 480*800 则要用 sw480dp 2.在布局文件中直接以<fragment> 标签方式嵌入时候,要标明class属性,即 类似  class = "com.abc.MyFragment"   也可以用 android:name ,与class属性完全相同 3.通过fragment.ge

《Android编程权威指南》-读书笔记(十一) 完善CriminalIntent

<Android编程权威指南>-读书笔记(十一) 完善CriminalIntent 在上篇文章中,我们跟随本书作者,使用了单个的Fragment做了最简单的插入操作.本篇文章将跟随作者进行更深入的完善各种功能. 本章目标: 使用ListFragment显示列表 fragment之间传递数据 使用ViewPager来实现划屏显示 对话框 使用ListFragment显示列表 如果是挑战,或者没有UI我会给出草图之类的UI.或手画或Axure原型.每次例子本书都给出了最终UI,所以这步基本都可以省

《Android编程权威指南》-读书笔记(三)Git初探

<Android编程权威指南>-读书笔记(三)Git初探 版本控制-Git 为什么要使用版本控制 什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能).采用版本控制系统(VCS)是个明智的选择.有了它你就

《Android编程权威指南》-读书笔记(四)-GeoQuiz功能扩展

<Android编程权威指南>-读书笔记 -GeoQuiz功能扩展 从现在开始,这本书开始扩展应用.在这次扩展中我们将会学习以下知识点: 创建一个新类 更新视图层 更新控制层 Git代码的修改和提交 Android Studio 在设备中运行该应用 给按钮添加图片资源 功能:下图是GeoQuiz应用对象图解.应用的对象按模型.控制器和视图的类别被分为三部分.Android应用是给予模型-控制器-视图(Model-View-Controller,简称MVC)的架构模式进行设计的. 创建一个类 T

IDA.Pro权威指南 读书笔记

http://www.pediy.com/kssd/pediy12/142766.html 标 题:IDA.Pro权威指南 读书笔记[Made By C_lemon] 作 者:Dstlemoner 时 间:2011-11-14 11:56:17 链 接:http://bbs.pediy.com/showthread.php?t=142766    IDA为反汇编 和逆向破解的 静态分析利器 ! 虽然是利器,但是你不会用的话~那就另当别论了. →     唉.对于刚入门的新手来说,看前人走过的路程

Hadoop权威指南读书笔记

本书中提到的Hadoop项目简述 Common:一组分布式文件系统和通用I/O的组件与接口(序列化.javaRPC和持久化数据结构). Avro:一种支持高效.跨语言的RPC以及永久存储数据的序列化系统. MapReduce:分布式数据处理模型和执行环境,运行于大型商业集群. HDFS:分布式文件系统,运行于大型商用机集群. Pig:一种数据流语言和运行环境,用以检索非常大的数据集.Pig运行在MapReduce和HDFS的集群上. Hive:一个分布式.按列存储的数据仓库.Hive管理HDFS

《Android编程权威指南》CriminalIntent项目梳理

相信很多新手或者初级开发人员都已经买了第2版的<Android编程权威指南>, 这本书基于Android Studio开发,对入门人员来说是很好的选择,但是很可惜的是, 在完成一个项目后,缺少对项目的一个大体上的梳理,本书在7-17章花了大量篇幅介 绍CriminalIntent应用,所以这里在完成CriminalIntent之后,我在这里自己对项目进行梳理. 介绍:CriminalIntent应用能记录陋习的标题,日期以及照片,也支持在联系人当中查找当事人,通过E-mail, Twitter

Android编程权威指南

Code download: www.bignerdranch.com/solutions/AndroidProgramming.zip Android编程权威指南,布布扣,bubuko.com