一. 默认样式(方形框)

     <CheckBox
            android:id="@+id/ft_cb"
            android:layout_marginRight="10dp"
            android:layout_width="25dp"
            android:layout_height="25dp" />

二.圆形框

在开发过程中,使用圆形框的需求比较多,所以下面改为圆形的checkBox,就只需把style改为 style="@style/Widget.AppCompat.CompoundButton.RadioButton"

 <CheckBox
            android:id="@+id/ft_cb"
            style="@style/Widget.AppCompat.CompoundButton.RadioButton"
            android:layout_marginRight="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

三.自定义样式

如果想要弄出更好看的页面,显然上面的样式是不满足要求的,所以需要我们去自定义样式,有两种方法

1. 使用background来设置
1 .1 定义drawable样式文件(check_style.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android/apk/res/android">
     <!--    选中状态-->
    <item android:drawable="@drawable/selected" android:state_checked="true"/>
      <!--    不选中状态-->
    <item android:drawable="@drawable/selected_false" android:state_checked="false"/>
    <item android:drawable="@drawable/selected" android:state_pressed="true"/>
    <!--    默认状态-->
    <item android:drawable="@drawable/selected_false"/>
</selector>
1.2. 在xml文件中配置
     <CheckBox
            android:id="@+id/ft_cb"
            android:background="@drawable/check_style"
            android:button="@null"
            android:layout_marginRight="10dp"
            android:layout_width="25dp"
            android:layout_height="25dp" />

这种方法,直接设置的是background属性,然后,把button属性设置为@null

更多推荐

Android开发中checkBox自定义样式