4. 기본 컨트롤 – 4. CheckBox

이번에는 특정 항목을 선택 여부를 결정할 때 사용하는 CheckBox를 사용하는 간단한 앱을 만들어 봅시다.

[그림] CheckBox 실습 실행화면
[그림] CheckBox 실습 실행화면
  여기서 실습할 내용은 두 개의 체크박스를 통해 TextView의 텍스트의 Bold와 Italic 속성을 설정 및 해제하는 것입니다.

 

먼저 최상위 요소로 LinearLayout을 배치하고 두 개의 CheckBox(Bold, Italic)와 하나의 TextView(언제나 휴일)를 배치하세요. 그리고 Java 소스 파일에서 접근할 수 있게 id 속성을 지정하세요.

 

다음은 activity_main.xml의 소스 내용입니다.

 

MainActivity.java 소스 파일의 MainActivity 클래스에 소스 코드를 편집합시다.

 

먼저, xml 파일에서 배치한 CheckBox 두 개와 TextView 를 참조할 멤버 필드를 선언하세요.

onCreate 메서드에서 findViewById 메서드를 호출하여 세 개의 컨트롤을 참조합니다.

 

두 개의 CheckBox 컨트롤에 클릭 리스너를 설정합니다. 두 개의 리스너에서 할 일은 두 개의 체크박스 상태를 확인하여 TextView의 Typeface를 설정하는 것입니다. 같은 행위를 수행할 것이므로 별도의 메서드로 만들어 이를 호출하는 형태로 작성하세요.

 

ChangeTextStyleProc 메서드를 정의합시다. 여기에서는 먼저 Bold와 Italic을 선택하였는지를 판별하기 위한 변수(flag_value)를 선언하세요. 만약 아무것도 선택하지 않았을 때는 0, Bold를 선택하였을 때 1, Italic을 선택하였을 때 2, 둘 다 선택하였을 때 3으로 설정합니다.

 

CheckBox의 Check 상태를 확인할 때는 isChecked 메서드를 호출하세요. 그리고 flag_value 값에 따라 setTypeface 메서드를 이용하여 TextView의 속성을 설정합니다.

 

다음은 MainActivity.java 소스 파일의 전체 내용입니다.