禁用自定义背景android按钮

Nik*_*tas 8 android button transparent

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

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

小智 36

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

<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>
Run Code Online (Sandbox Code Playgroud)

  • 对于该选择器,在`res/drawable/directory`中创建一个新的XML文件 (3认同)

Koc*_*cus 13

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