改变checkbox默认的文字与选框之间的距离两种方案,刚刚开始接触checkbox 的时候因为不熟悉控件,使用了组合控件:一个未设定text的CheckBox和一个TextView来达到目的。后来发现只须要设定CheckBox的android:paddinLeft的值便可,没有看源码,不清楚问什么CheckBox的这个属性表明的意义为何和其余widget不同,问题是解决了。 android
在开发过程当中常常遇到的问题是,不一样厂商的checkbox控件的UI不一样,致使开发出的产品在UI上有些区别,尤为是一些厂商的UI作得比较丑,这时候咱们能够使用自定义Checkbox来达到咱们想要的UI。 测试
只须要在drawable文件下设定一个xml便可: spa
<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_check_on" />
<item android:state_window_focused="false" android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/btn_check_off" />
<item android:state_enabled="true" android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/btn_check_on_pressed" />
<item android:state_enabled="true" android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/btn_check_off_pressed" />
<item android:state_focused="true" android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_check_on_selected" />
<item android:state_focused="true" android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/btn_check_off_selected" />
<item android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/btn_check_off" />
<item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/btn_check_on" />
</selector>
在须要使用的CheckBox控件下使用android:button属性: xml
<CheckBox
android:id="@+id/btn_check"
android:button="@drawable/checkboxselector"
android:layout_width="wrap_content"
android:text="测试一下"
android:paddingLeft="30.0dp"
android:layout_height="wrap_content" /> 开发