스위치의 상태 값에 따라 TextView 의 색을 변경해주려 한다.
먼저 변경해줄 텍스트뷰의 컬러를 selector 를 이용해 적용해준다.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black" android:state_selected="true" />
<item android:color="@color/red"/>
</selector>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="월,화,수,목,금,토,일"
android:textColor="@color/selector_color"
android:textSize="27dp" />
// 스위치 상태 변경 리스너
switchOnOff.setOnCheckedChangeListener(SwitchCheckedChangeListener())
// 스위치 버튼 ON/OFF 에 따른 이벤트 리스너
inner class SwitchCheckedChangeListener : CompoundButton.OnCheckedChangeListener {
override fun onCheckedChanged(buttonView: CompoundButton?, isChecked: Boolean) {
binding.textView.isSelected = isChecked
}
}
이렇게 해주면 스위치의 체크 상태에 따라 간단하게 텍스트 컬러 변경 가능 ~!