【背景需求】
Android中CheckBox的使用频率是相当高的,但是很多时候系统自带的样式和效果并不能满足实际项目需求,所以知道怎么去自定义样式和扩大CheckBox点击区域还是相当重要的。
【效果】
【核心】
【理解】
既然CheckBox继承了CompoundButton,那么我们可以把CheckBox当成一个Button来进行处理,下面便是通过设置android:drawableLeft解决这一问题。
<!--自定义样式+扩大点击区域CheckBox-->
<CheckBox
android:id="@+id/checkbox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:drawableLeft="@drawable/bg_checkbox_one“
android:drawableStart="@drawable/bg_checkbox_one"
android:padding="10dp"/>
【bg_checkbox_one 样式】
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/icon_check_selected"
android:state_checked="true"/>
<item android:drawable="@mipmap/icon_check_selected"
android:state_selected="true"/>
<item android:drawable="@mipmap/icon_check_selected"
android:state_pressed="true"/>
<item android:drawable="@mipmap/icon_check_default"
android:state_checked="false"/>
</selector>