禁用自定义背景android按钮

时间:2011-04-26 12:41:24

标签: android button transparent

当我有一个Android按钮并将其设置为禁用时,该按钮似乎是“透明的”。

我有一个自定义背景的按钮,用于按下和聚焦状态。我想从代码中禁用它。当我尝试button.setEnabled(false);时,我禁用按钮,但它保持相同的自定义背景。知道如何禁用我的自定义按钮并将背景更改为透明吗?

2 个答案:

答案 0 :(得分:32)

您应该像这样创建自定义选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
    android:state_enabled="false"
        android:drawable="@drawable/btn_red" />
    <item 
        android:state_pressed="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_focused="true" 
        android:state_enabled="true"
        android:drawable="@drawable/btn_orange" />
    <item 
        android:state_enabled="true"
        android:drawable="@drawable/btn_black" />
</selector>

答案 1 :(得分:12)

也许您可以使用android:state_enabled并将其设置为适合此按钮的选择器中的透明drawable?