Android 自定义CheckBox 样式

新建Android XML文件,类型选Drawable,根结点选selector,在这定义具体的样式。

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="true" android:state_pressed="true"
                android:drawable="@drawable/focused" ;/>
        <item android:state_checked="false" android:state_pressed="true"
                android:drawable="@drawable/normal" ;/>
        <item android:state_checked="false" android:drawable="@drawable/normal" ;/>
        <item android:state_checked="true" android:drawable="@drawable/focused" ;/>
</selector>

state_checked 选中状态 state_pressed按下状态 
即分别设置checkbox选中和没选中时,按下和没按下时显示的图片. 
应用到Checkbox与Button不同,并不是设置Background属性,而是设置style属性,所以我们要写一个style。 
在strings.xml写一个style,

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_checked="true" android:state_pressed="true"
                android:drawable="@drawable/focused" ;/>
        <item android:state_checked="false" android:state_pressed="true"
                android:drawable="@drawable/normal" ;/>
        <item android:state_checked="false" android:drawable="@drawable/normal" ;/>
        <item android:state_checked="true" android:drawable="@drawable/focused" ;/>
</selector>

应用到Checkbox:

<CheckBox android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        style="@style/MyCheckBox"
;        />
原文地址:https://www.cnblogs.com/luenmicro/p/3446963.html