Android权威编程指南学习笔记1

来源:互联网 发布:mac number 求和 编辑:程序博客网 时间:2024/05/16 23:57

关于GeoQuiz编写的问题
1. 关于使用参数来获取问题数组索引的问题

private TextView mQuestionTextView;private TrueFalse[] mQuestionBank = new TrueFalse[] {        new TrueFalse(R.string.question_oceans, true),        new TrueFalse(R.string.question_midest, false),        new TrueFalse(R.string.question_africa, false),        new TrueFalse(R.string.question_americas, true),        new TrueFalse(R.string.question_asia, true),};private int mCurrentIndex = 0;

在上述代码中,创建了mQuestionBank类的数组,数组中保存了5个新的此类对象数组来保存问题与正确答案。
应用需要在点击下一个或上一个按钮来显示下一个或者上一个问题,mCurrentIndex用来保存当前问题的数组索引,当点击下一个或者上一个按钮时,需要改变mCurrentIndex的值来显示下一个或者上一个问题。
此时,点击下一个按钮时,可以使用取余的运算来获取下一个问题的数组索引:

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

而点击上一个按钮时,因为要考虑到0-1是一个负数的情况,使用一个if语句来判断当前索引是否为零:

if(mCurrentIndex != 0) {                    mCurrentIndex = (mCurrentIndex - 1) % mQuestionBank.length;                } else {                    mCurrentIndex = mQuestionBank.length - 1;                }

注:上一个按钮在书上并没有代码答案,我考虑使用IF语句来实现此功能

2.关于ImageButton组件的相关属性
在一开始程序使用的是Button组件来实现对NEXT以及PREV功能的显示,而书本后要求直接使用一个ImageButton来显示上一个和下一个可以使整个layout显得更加简洁。

 <ImageButton         android:id="@+id/next_button"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:src="@drawable/arrow_left"         android:contentDescription="@string/next_button"/>

这是实现next功能的一个ImageView的相关属性设置,除了id、width和height外,android:src用来设置显示的图片。
而android:contentDescription属性用来设置其文字属性,用书上的话说,该属性为视力障碍用户提供方便,在其设置文字属性值后,如果用户设备的可访问性选项作了相应设置,那么用户点击图形按钮时,设备会读出属性值的内容。 我认为应该是Android设备上的辅助功能对其作出的要求,如果没有这个属性的话,程序也可以正常运行。(设备为SONY Z3+)。

总结:并不打算一直按这个格式来写,总之在学习和自己编写过程中遇到自己不懂的并解决的问题,和以前在编程过程中没有注意到的一些算法、设计模式都会写下来。一个用来巩固记忆,一个方便日后查阅。

最后放一张图吧,虽然程序很简单,但这样一步步来记录自己的学习过程也不错
这里写图片描述

//背景图是自己加上去的,最近死神玩的还不错~~

0 0
原创粉丝点击