今天,随便讲讲自定义CheckBox的样式。
第一种方法:
1.在drawable文件新建checkbox_style.xml。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/checkbox_pressed" android:state_checked="true"/> <item android:drawable="@drawable/checkbox_normal" android:state_checked="false"/> <item android:drawable="@drawable/checkbox_normal"/> </selector>
2.定义一个style,使用上面的xml样式
<style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox"> <item name="android:button">@drawable/checkbox_style</item> </style>
3.把CheckBox的样式设置为自定义的样式
<CheckBox android:id="@+id/select_all" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/CustomCheckboxTheme" />
使用到的图片资源
checkbox_normal.png
checkbox_pressed.png
第二种方法:
第一步:定义drawable样式文件
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/checked" android:state_checked="true" /> <item android:drawable="@drawable/checked_false" android:state_checked="false" /> <item android:drawable="@drawable/checked" android:state_pressed="true" /> <item android:drawable="@drawable/checked_false" /> </selector>
第二步:在xml文件中配置
<CheckBox android:id="@+id/checkBox" android:layout_width="25dp" android:layout_height="25dp" android:layout_gravity="center" android:background="@drawable/checkbox_style" android:button="@null" android:layout_marginLeft="10dp" />
主要定义drawable时,需要把button属性设置为null。
android 自定义checkBox的样式就讲完了。
就这么简单。