当我从xml更改复选框的按钮时,复选框不会反映已选中。 我的xml文件是:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/memberName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="57.56"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000"/>
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/checkbox" <----- change button of checkbox
/>
@ drawable / checkbox是png文件
答案 0 :(得分:1)
为了工作,需要将android:button
设置为选择器xml文件,该文件为已检查和未检查状态定义可绘制项。尝试这样设置:
<强> checkbox_selector.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/checkbox_checked" />
<item android:state_checked="false" android:drawable="@drawable/checkbox_unchecked" />
</selector>
其中checkbox_checked.png
是您在选中此框时要使用的图像。并且checkbox_unchecked.png
是未选中时的图像。
然后在您的主布局中设置按钮,如下所示:
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/checkbox_selector"
/>