티스토리 뷰
반응형
안드로이드 CheckBox 커스텀 하기 / 리스너 등록하기
커스텀 체크박스 이미지 만들기
Custom CheckBox
커스텀할 체크박스 이미지를 res/drawable 폴더에 check_press.png와 check_nor.png를 넣어 둔다.
그리고 아래와 같이 res/drawable/custom_check_box.xml 파일을 생성한다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 체크박스 해제상태 -->
<item android:drawable="@drawable/check_press" android:state_checked="false" />
<!-- 체크박스 선택상태 -->
<item android:drawable="@drawable/check_nor" android:state_checked="true" />
<!-- default state -->
<item android:drawable="@drawable/check_press" />
</selector>
CheckBox에 Custom된 이미지 적용하기
레이아웃에 CheckBox를 작성할 때 android_button="@null"을 지정해줘야 커스텀된 이미지가 체크박스의 크기에 맞게 들어간다.
그리고 커스텀된 이미지를 android:background="@drawable/custom_check_box.xml"과 같이 지정해 준다.
아래와 같이 CheckBox를 넣어주면 커스텀된 체크박스를 사용할 수 있다.
<CheckBox
android:id="@+id/check_box_id"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/custom_check_box.xml"
android:button="@null" />
CheckBox 변경 리스너 등록하기
체크박스를 초기화 하고 변경리스너를 등록한다.
여러개의 체크박스를 아래와 같이 공통으로 등록할 때 buttonView의 id를 가져와 ClickListener를 등록할 때와 같이 switch로 사용하면 된다.
CheckBox checkBox = (CheckBox)findViewById(R.id.check_box_id)
checkBox.setOnCheckedChangeListener(onCheckedChangeListener ); // CheckBox에 리스너 등록
private CompoundButton.OnCheckedChangeListener onCheckedChangeListener =
new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch(buttonView.getId())
case R.id.check_box_id: // Layout에 등록한 CheckBox의 id : 첫번째
if (isChecked){
//TODO 체크박스가 선택 체크 되었을때
}
else{
//TODO 체크박스가 선택 해제 되었을때
}
break;
case R.id.check_box_id_02: // Layout에 등록한 CheckBox의 id : 두번째
if (isChecked){
//TODO 체크박스가 선택 체크 되었을때
}
else{
//TODO 체크박스가 선택 해제 되었을때
}
break;
default:
break;
}
};
반응형
'Dev > Android' 카테고리의 다른 글
[Android] 안드로이드 버튼 효과 커스텀 - Selector (0) | 2016.01.24 |
---|---|
[Android] ProGuard 코드 난독화 / 최적화 설정 - Android Stuido (6) | 2016.01.18 |
[Android] BroadcastReceiver 사용하기 (1) | 2015.12.28 |
[Android Studio] Keymap 단축키(이클립스) 변경 (0) | 2015.12.18 |
[Android Studio] Javadoc 설정 (0) | 2015.12.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 맛집
- 예제
- 인스턴트
- Android Stuido
- library
- 돈돈
- 안드로이드 스튜디오
- jar
- GS25
- Python
- 안드로이드
- Android Studio
- java
- 일본
- MongoDB
- Android
- 후쿠오카
- 라면
- 하카타
- 직화
- Custom
- 리뷰
- 에러
- 일식
- 컵라면
- Picasso
- 설치
- 라멘
- 생성
- 편의점
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함