参考网址:【Android】CheckBox的自定义样式和使用_android checkbox 自定义样式-优快云博客
说明:圆圈样式是画出来的,省事的样式设置是用两张图片切换
1.drawable下创建checkbox_true.xml
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/black"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/white"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
</vector>
2.drawable下创建checkbox_false.xml
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/black"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/black"
android:pathData="M16.59,7.58L10,14.17l-3.59,-3.58L5,12l5,5 8,-8zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z" />
</vector>
3.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_true" android:state_checked="true"/>
<item android:drawable="@drawable/checkbox_false" android:state_checked="false"/>
</selector>
4.res下创建color文件夹,该文件夹下创建checkbox_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 选中状态下的颜色 -->
<item android:color="@color/black" android:state_checked="true" />
<!-- 未选中状态下的颜色 -->
<item android:color="@color/black" android:state_checked="false" />
</selector>
说明:如果不设置选择状态下的颜色,checkbox会使用系统默认的颜色;这个颜色的设置需要和1、2中设置的颜色一样
5.布局xml中使用
<CheckBox
android:id="@+id/cb_login_remember"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/checkbox_style"
android:buttonTint="@color/checkbox_color"
android:paddingLeft="3dp"
android:layout_gravity="right"
android:textStyle="bold"
android:text="记住密码"/>