state_enabled =“ false”不起作用,但另一个起作用

时间:2019-05-31 16:45:20

标签: android android-layout android-drawable android-selector

您好,我有以下代码:

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_enabled="false"
        android:color="#FF0000"
        android:drawable="@drawable/white_button_disable"/>

    <item android:state_pressed="true"
        android:drawable="@drawable/white_button"/>

    <item
        android:drawable="@drawable/white_button_shadow"
        android:bottom="4px" />

</selector>

white_button_disable

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/red"/>
    <corners android:radius="28dp"/>
    <stroke
        android:width="1px"
        android:color="@color/red" />
</shape>

如果单击该按钮,则显示white_button;如果不单击该按钮,则显示white_buttons_shadow。

但是如果该按钮被禁用(enabled =“ false”),它将不起作用,并显示white_button_shadow

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

只需测试

 <item android:state_enabled="false"
     android:drawable="@drawable/white_button_disable"/>

您的android:color="#FF0000"破坏了选择器。

删除它,就可以了。