Android 自定义CheckBox


首先先定义一个CheckBox。 关键是style="@style/MyCheckBox" 
<CheckBox
Android:id="@+id/login_cb_quite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
ndroid:textColor="#7fffffff"
android:text="@string/opt_silent"
style="@style/MyCheckBox" />

style.xml:

<resources>
    <style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
        <item name="android:textSize">16.0sp</item>
        <item name="android:textColor">@color/qq_checkbox_text_color</item>
        <item name="android:paddingLeft">28.0px</item>
        <item name="android:button">@drawable/qq_btn_check</item>
    </style>
</resources>
这里的关键是<item name="android:button">@drawable/qq_btn_check</item>
这里将button的样式设置成qq_btn_check.xml中的设置

qq_btn_check.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:state_checked="true" android:drawable="@drawable/btn_check_on" />
<item android:state_window_focused="false" android:state_enabled="true"
android:state_checked="false" android:drawable="@drawable/btn_check_off" />
<item android:state_enabled="true" android:state_checked="true"
android:state_pressed="true" android:drawable="@drawable/btn_check_on_pressed" />
<item android:state_enabled="true" android:state_checked="false"
android:state_pressed="true" android:drawable="@drawable/btn_check_off_pressed" />
<item android:state_focused="true" android:state_enabled="true"
android:state_checked="true" android:drawable="@drawable/btn_check_on_selected" />
<item android:state_focused="true" android:state_enabled="true"
android:state_checked="false" android:drawable="@drawable/btn_check_off_selected" />
<item android:state_enabled="true" android:state_checked="false"
android:drawable="@drawable/btn_check_off" />
<item android:state_enabled="true" android:state_checked="true"
android:drawable="@drawable/btn_check_on" />
</selector>


设置当选中和未选中的的样式图都可以定义自己想要设置的样式


一个自定义的checkBox就出来了

相关内容