Checkbox 设置完button属性后,文本和button之前在2.3以下没有padding,在4.0设备中确有相当大的padding。当然可以通过设置paddingLeft属性调整这个间距,但是这样4.0没问题,2.3问题又出来了。
那怎么样来设置Checkbox的自定义选框且不产生padding的问题呢?
那就是不要使用button属性(button=”@null”),通过drawableLeft 来设置自定义的选框,并且把backgroud设置为@null, 选框和文字的padding可以用过drawablePadding属性来进行设置。这样就不会出现在不同OS下,padding表现完全不一致的情况了。
参考代码如下:
<CheckBox
android:id="@+id/login_auto_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:button="@null"
android:checked="false"
android:drawableLeft="@drawable/uc_auto_login_check_selector"
android:drawablePadding="6dp"
android:text="@string/login_auto_login"
android:textColor="@color/gray"
android:textSize="18sp"/>