您的位置:首页 > 其它

自定义checkbox

2015-12-03 09:33 148 查看
第一种方法(在布局文件中配置):

1.首先在drawable文件夹中添加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_pressed" android:state_checked="true"/>
<item android:drawable="@drawable/checkbox_normal" android:state_checked="false"/>
<item android:drawable="@drawable/checkbox_normal"/>

</selector>


2.在布局文件中使用CustomCheckboxTheme样式。

<Checkbox
android:id="@+id/select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/checkbox_style"
android:background="@null" />


第二种方法(通过配置style文件来设置,更易维护):

1.首先在drawable文件夹中添加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_pressed" android:state_checked="true"/>
<item android:drawable="@drawable/checkbox_normal" android:state_checked="false"/>
<item android:drawable="@drawable/checkbox_normal"/>

</selector>


2.在values文件夹下的styles.xml文件中添加CustomCheckboxTheme样式。

<style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/checkbox_style</item>
</style>


3.在布局文件中使用CustomCheckboxTheme样式。

<CheckBox
android:id="@+id/select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/CustomCheckboxTheme" />


checkbox其他常用属性设置:

1.设置checkbox的图片和文字的间距(通过修改属性paddingLeft来设置间距)。

第一种方式(在布局文件中配置):

<CheckBox
android:id="@+id/select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10.0dp"
android:text=="CheckBox"
style="@style/CustomCheckboxTheme" />


第二种方式(在style文件中配置):

<style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/checkbox_style</item>
<item name="android:paddingLeft">5.0dp</item>
</style>


2.放大或缩小checkbox(在布局文件中修改scaleX和scaleY属性来控制)

<CheckBox
android:id="@+id/select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="0.8"
android:scaleY="0.7" />


图片资源:



checkbox_normal.png



checkbox_pressed.png
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: