Android编程权威指南(第三版) 第二章 学习笔记

第二章 MVC设计模式

无关技术

努力是一种态度,与年纪无关.

知识概要

本章主要讲解了android中的MVC的基本模型,model,view,Controller代表的角色,以及使用MVC的好处,向项目中添加图片以及资源的使用.

挑战练习

为TextView添加监听器

textview也是View的子类,他也有View.OnClickListener,所以它的点击逻辑跟Button的一模一样.

只需要添加
`

    mQuestionTextView = findViewById(R.id.question_test_view);
    mQuestionTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;
            updateQuestion();
        }
    });

`

即可实现,点击TextView就显示下一道题.

添加后退按钮

这道题与下一道题逻辑是一样的.不同之处在于本题的按钮,需要显示文字和图标,点击逻辑是一样的.

所以在布局中使用Button
`

   

`
图片在文字的右边,就是用drawableRight,他们之间的距离调节使用drawablePadding

在图片在文字的左边,就使用drawableLeft,文字与图片的间距用drawablePadding

同理,可以设置文字与图片上下的位置关系.

从按钮到图标

按照提示,这个只有图标,使用ImageButton,ImageButton是继承自ImageView的,而Button是继承自TextView的,所以ImageButton不可以设置文字,只用于显示图标.

在布局中添加
`

   

`
注意到这里的contentDescription属性,我们平时用不到,这个是给视力障碍用户提供方便的属性.

上一道题的逻辑处理
`

      mPreButton = findViewById(R.id.pre_button);
    mPreButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mCurrentIndex--;
            if (mCurrentIndex<0){
                mCurrentIndex = 0;
                Toast.makeText(QuizActivity.this, R.string.first_question, Toast.LENGTH_SHORT).show();
            }
            updateQuestion();
        }
    });

`

初始化控件,设置点击监听,索引自减,如果当前索引值<0了,就把它置为0,并提醒用户,已经到第一道题了,然后调用updateQuestion,去刷新题.

你可能感兴趣的:(Android编程权威指南(第三版) 第二章 学习笔记)