본문 바로가기

android/UI

[ Android ] CheckBox - 박스 색을 변경하기

반응형

Android에서 CheckBoxbuttonTint를 변경하려면, 아래의 방법을 사용할 수 있습니다. 이 속성은 체크박스의 버튼(체크 마크)이 눌렸을 때의 색상을 변경하는 데 사용됩니다.

XML에서 buttonTint 설정하기

XML 레이아웃 파일에서 CheckBoxbuttonTint 속성을 직접 설정할 수 있습니다.

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Check me"
    android:buttonTint="@color/your_color"/>

여기서 @color/your_colorres/values/colors.xml 파일에 정의된 색상 리소스입니다.

<color name="your_color">#FF0000</color> <!-- 빨간색 예제 -->

Java 또는 Kotlin 코드에서 설정하기

Java 또는 Kotlin 코드에서 CheckBoxbuttonTint를 프로그래밍적으로 변경할 수도 있습니다.

Java 코드 예제:

CheckBox checkBox = findViewById(R.id.your_checkbox);
checkBox.setButtonTintList(ColorStateList.valueOf(Color.RED));

Kotlin 코드 예제:

val checkBox: CheckBox = findViewById(R.id.your_checkbox)
checkBox.buttonTintList = ColorStateList.valueOf(Color.RED)

Drawable을 사용하여 색상 상태 지정하기

다양한 상태에 대해 다른 색상을 지정하려면 ColorStateList를 사용하여 XML 파일을 정의할 수 있습니다.

예를 들어, res/color/checkbox_tint.xml을 생성하여 다음과 같이 작성할 수 있습니다:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/color_checked" android:state_checked="true"/>
    <item android:color="@color/color_unchecked"/>
</selector>

이 파일을 CheckBoxbuttonTint 속성에 적용하면 체크 상태에 따라 색상이 변경됩니다:

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Check me"
    android:buttonTint="@color/checkbox_tint"/>

이 방법을 사용하면 Android 앱에서 CheckBox의 버튼 색상을 손쉽게 사용자 정의할 수 있습니다.

반응형