안드로이드 Study 목차가기

 

 



1. CheckBox 사용

CheckBox는 다음과 같은 상속 관계를 가지고 있다.

CheckBox를 포함해 CompoundButton, Button 클래스는 고유의 XML 속성이 없음으로

TextView, View로부터 상속받은 속성만 적용 가능하다.

 


사용자가 CheckBox위젯을 Check하느냐 안 하느냐에 따라 코드의 분기가 필요한데,

이때 Java 코드 내부에서는 다음과 같은 CompoundButton에서 상속한 몇가지 메소드를

통해 CheckBox 위젯의 상태를 판단하거나 컨트롤 할 수 있다.

  • isChecked() – checkbox의 상태를 리턴.
  • setChecked(true/false) – checkbox를 check/unckeck 함.
  • toggle() – checkbox를 toggle.

  


또 유져가 CheckBox를 사용했을 때 발생하는 event를 처리하기 위해서는

CheckBox가 상속 하는 CompoundButton.OnCheckedChangeListener interface의

onCheckedChanged(CompoundButton buttonview, boolean isChecked) abstract callback

함수를 구현 하고 setOnCheckedChangeListener()를 이용하여 check 이밴트가

발생했을 때 사용될 callback을 등록하는 절차가 필요하다.


  

다음은 CheckBox 사용 예 입니다.

CheckBox Test (main.xml)


CheckBox Test (MyCheckBox.java)

 

실행 결과는 다음과 같다.

 

 

완전한 CheckBox API Reference 링크는 다음을 참조.

CheckBox API Reference 링크

 

 

 

2. RadioGroup & RadioButton 사용

RadioButton은 다음과 같은 상속 구조를 갖는다.

 

RadioButton역시 CompoundButton에서 상속함으로 사용 방법은 CheckBox와 거의 같지만

다음과 같은 다른 점이 있다.

  • RadioButton은 보통 RadioGroup에 의해 여러 개가 한 묵음으로 사용됨.

    같은 RadioGroup내부의 RadioButton은 한 번에 하나만 선택 가능.

  • RadioButton은 CheckBox와 다르게 한번 check되면 사용자가 직접 unckeck 할 수 없음.

    (RadioGroup 내부의 다른 RadioButton을 선택 하는 것으로 unchecke 됨)

 

 

RadioGroup은 다음과 같은 상속 구조를 갖는다.

 

RadioGroup은 group내부의 RadioButton들의 상태를 감시(Listen) 하기 위해

onCheckedChanged abstract method를 포함한 OnCheckedChangeListener interface를 제공한다.

 

Activity가 사용자의 RadioButton 선택에 실시간으로 반응하게 하려면 activity 코드 내부에

onCheckedChanged abstract method를 정의해 OnCheckedChangedListener를 구현 하여야 한다.

 

다음은 RadioButton 사용 예제 이다.

RadioButton Test 예제 (main.xml)



RadioButton Test 예제 (MyRadioButton.java)


실행 결과는 다음과 같다.

 

완전한 RadioButton과 RadioGroup의 API Reference는 다음 링크 참조.

RadioButton API Reference 링크

RadioGroup API Reference 링크

 

 

 

3. android.view.View 클래스

이번 장에 설명한

TextView, Button, ImageView, ImageButton, EditView, CheckBox, RadioButton, RadioGroup은 직/간접적으로

Veiw class로부터 상속 받음으로 View의 XML 속성과 메소드를 모두 상속 받아 사용 할 수 있다.

 

다음은 View 클래스가 제공하는 유용한 XML 속성의 일부이다.

  • android:nextFocusDown(Up, Left, Right) 포커스의 차례(sequence)를 정하는 속성.
  • android:visibility 위젯의 화면 표현 여부 결정.
  • android:background – 16진수 RGB(#FFFFFF 형식)로 위젯의 배경 색깔 지정.

   

또, View는 다음과 같은 유용한 method들도 제공한다.

  • setEnable() – 위젯을 활성화/비활성화 시킴.
  • isEnable() – 위젯의 활성화 여부 check.
  • requestFocus() – method를 호출한 위젯으로 fucus를 이동.
  • getParent() – 자신이 포함된 부모 위젯이나 컨테이너 획득.
  • findViewById() – 컴파일된 Resource, R 객체를 이용해 xml layout 파일에 선언된 위젯 인스턴스 획득. (ex R.id.textbox)
  • getRootView() – 최상위 view를 획득. (setContentView()를 통해 main activity에게 제공했던)

 

 

완전한 View API Reference는 다음 링크 참조

View API Reference 링크



저작자 표시 비영리 변경 금지
신고
Posted by 무한만족 i티거