《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之间的关系。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。