为复选框设置已禁用的背景图像

时间:2014-02-27 21:35:31

标签: android checkbox android-drawable

我创建了一个可复制的选择器xml文件,我的复选框引用了该文件。 ON和OFF选项工作正常,但是当我以编程方式禁用视图时,禁用的选择器不执行任何操作。在xml选择器中为禁用状态设置图像的正确方法是什么?

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/checkbox_on" android:state_checked="true"/>
    <item android:drawable="@drawable/checkbox_off" android:state_checked="false"/>
    <item android:drawable="@drawable/checkbox_disabled" android:state_enabled="false"/>

</selector>

Java代码:

CheckboxAppDaily.setEnabled(false);

1 个答案:

答案 0 :(得分:0)

也许您可以按照我的编码进行操作,应该使用2个参数来满足您的要求。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/pay_bg_rectangle_selected" />
<item android:state_enabled="true" android:state_checked="false" android:drawable="@drawable/pay_bg_rectangle_unselected" />
<item android:state_enabled="false" android:state_checkable="false" android:drawable="@drawable/pay_bg_rectangle_disable" /> 
</selector>