使用selector来设置自定义的CheckBox样式,以下是checkbox_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 未选中也未按下时显示的样式 -->
<item android:drawable="@drawable/checkbox_unselect" android:state_checked="false" android:state_pressed="false"/>
<!-- 未选中按下时显示的样式 -->
<item android:drawable="@drawable/checkbox_unselect_press" android:state_checked="false" android:state_pressed="true"/>
<!-- 已选中未按下时显示的样式 -->
<item android:drawable="@drawable/checkbox_selected" android:state_checked="true" android:state_pressed="false"/>
<!-- 已选中同时也按下时显示的样式 -->
<item android:drawable="@drawable/checkbox_selected_press" android:state_checked="true" android:state_pressed="true"/>
</selector>
附上上面四种情况的图片:
在CheckBox中使用时设置其button属性:
<CheckBox
android:id="@+id/is_show_in_notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:button="@drawable/checkbox_selector"
/>
这样就应用了我们自定义的样式。