0

当我从 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 文件

4

1 回答 1

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"
 />
于 2013-04-17T14:07:13.737 回答