안 드 로 이 드 프로 그래 밍 권위 지침 (제3 판) 제2 장 학습 노트

2477 단어
제2 장 MVC 디자인 모델
기술 과 무관 하 다
노력 은 일종 의 태도 로 나이 와 무관 하 다.
지식 개요
이 장 에 서 는 안 드 로 이 드 의 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 을 호출 하여 문 제 를 새로 고 칩 니 다.

좋은 웹페이지 즐겨찾기