使用自定义后台android禁用按钮

使用自定义后台android禁用按钮,android,button,transparent,Android,Button,Transparent,当我有一个安卓按钮,并将其设置为禁用,然后按钮似乎是“透明的” 我有一个按钮,有自定义的背景,用于按下和聚焦状态。我想从代码中禁用它。当我尝试按钮时,setEnabled(false)我禁用按钮,但它保持相同的自定义背景。你知道如何禁用我的自定义按钮并将背景更改为透明吗?也许你可以使用android:state_enabled并将其设置为该按钮的选择器中相应的透明可绘制按钮?你应该创建如下自定义选择器: <selector xmlns:android="http://schemas.and

当我有一个安卓按钮,并将其设置为禁用,然后按钮似乎是“透明的”


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

也许你可以使用
android:state_enabled
并将其设置为该按钮的选择器中相应的透明可绘制按钮?

你应该创建如下自定义选择器:

<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>

对于该选择器,在
res/drawable/目录中创建一个新的XML文件