Android编程权威指南第三版挑战练习二
来源:互联网 发布:京东淘宝网手机 编辑:程序博客网 时间:2024/06/06 09:52
下载区
挑战练习二代码demo -> Link
挑战练习-题目1(2.7):为 TextView 添加监听器
NEXT按钮不错,但如果用户单击应用的 TextView 文字区域(地理知识问题),也可以跳转到下一道题,用户体验会更好。
参考解决方法:
只需要在mQuestionTextView对应绑定Id语句后面贴上这样一段代码
mQuestionTextView.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length; updateQuestion(); } });
解释:照葫芦画瓢,监听器里面放的就是Next_Buton监听器里面的内容,此题不难。挑战练习-题目2(2.8):添加后退按钮
为GeoQuiz应用新增后退按钮(PREV),用户单击时,可以显示上一道测试题目。完成后的用户界面应如图2-14所示
step 1:加入字符串
在strings.xml里,next_button后面加上
<string name="prev_button">Prev</string>
解释:添加字符串资源
在layout.xml文件原本nextbutton处,前后增加Button和LinearLayout
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/prev_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/prev_button" android:drawableLeft="@drawable/arrow_left" android:drawablePadding="4dp" /> <Button android:id="@+id/next_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/next_button" android:drawableRight="@drawable/arrow_right" android:drawablePadding="4dp" /> </LinearLayout>
解释:在布局文件中增加一个button,由于题目是水平布局,所以要加上LinearLayout标签,设置orientation=“horizontal”
step 3:增加功能
在QuizActivity.java中声明变量
private Button mPrevButton;在Oncreate方法内,mNextButton.setOnListener方法后面,插入mPrevButton的相关用法
解释:除了下面这句话,其他与NextButton无异。表达的意思就是如果mCurrentIndex下表减一小于0的时候,我就将这个mCurrentIndex设为最后一条,这样可以防止出现异常。mPrevButton = (Button) findViewById(R.id.prev_button); mPrevButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mCurrentIndex = mCurrentIndex-1 < 0? mQuestionBank.length - 1 : mCurrentIndex - 1; updateQuestion(); } });
mCurrentIndex=mCurrentIndex-1<0?mQuestionBank.length-1:mCurrentIndex-1;
挑战练习-题目1(2.7):从按钮到图标按钮
题目和答案在书上写的很详细了,在这里就不再赘述,不懂可以自行下载demo。
解释:android:contentDescription这个属性的主要功能就是为视力有障碍的人增加对控件的解释。可以参考->Link
最终效果图:
阅读全文
0 0
- Android编程权威指南第三版挑战练习二
- Android编程权威指南第三版挑战练习一
- Android编程权威指南第三版挑战练习三
- 挑战练习:评分(四)基于Android编程权威指南(第三版)
- 《Android编程权威指南》第二版 第二章 挑战练习
- 《Android编程权威指南》第二版 第五章 挑战练习
- 《Android编程权威指南》第二版 第六章 挑战练习
- 《Android编程权威指南》第二版 第八章 挑战练习
- Android编程权威指南-第一章挑战练习二:添加后退按钮
- 挑战练习:添加后退按钮(二)基于《Android编程权威指南》
- 《Android编程权威指南》第二章练习的挑战
- Android编程权威指南-第5章:挑战练习
- Android编程权威指南:第十二章挑战练习第二个
- Android编程权威指南-第十六章挑战练习
- Android编程权威指南-第十七章挑战练习
- Android编程权威指南(第2版)第1/2章中的挑战练习思路
- 《Android权威编程指南(The Big Nerd Ranch Guide)(第二版)》12.4挑战练习
- 《Android权威编程指南(The Big Nerd Ranch Guide)(第二版)》12.4挑战练习
- java基础---一些常用类
- tf.gfile.FastGFile造成的'utf-8' codec can't decode..错误
- Unity3d热门基础之常用API之Input使用详解
- 线段树解析以及代码模板
- hdu Bone Collector II
- Android编程权威指南第三版挑战练习二
- Eclipse+Maven创建webapp项目
- ImageLoader的使用
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解
- 习题6.3作业更正提交2017.11.08
- ListView的优化
- [LeetCode-Algorithms-55] "Jump Game" (2017.11.7-WEEK10)
- Spring --web工程下xml配置文件部署
- HBase详解