目录

Android开发中checkBox自定义样式

Android开发中checkBox自定义样式

一. 默认样式(方形框)

https://i-blog.csdnimg.cn/blog_migrate/b32b0320ac7a4ddc5e3a645e4b030df2.jpeg#pic_center

     <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"

https://i-blog.csdnimg.cn/blog_migrate/8726f0549cb40a4477d53853f387652e.jpeg#pic_center

 <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" />
三.自定义样式

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

https://i-blog.csdnimg.cn/blog_migrate/6cde37e34024c5f2aadee4cfeb20b860.jpeg#pic_center

1. 使用background来设置
1 .1 定义drawable样式文件(check_style.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/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