12

When I have an android button and set it as disabled then the button seems as "transparent".

I have a button with custom background for the pressed and focused state. I want to disable it from code. When I try button.setEnabled(false); I disable the button but it keeps the same custom background. Any idea how to disable my custom button and changes the background as transparent too?

Carl Manaster
  • 39,912
  • 17
  • 102
  • 155
Nikitas
  • 649
  • 4
  • 9
  • 18

2 Answers2

42

you should create you custom selector like this:

<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>
pClass
  • 421
  • 1
  • 4
  • 3
16

Maybe you could use android:state_enabled and set that to appropriate transparent drawable in your selector for this button?

Carl Manaster
  • 39,912
  • 17
  • 102
  • 155
Kocus
  • 1,613
  • 17
  • 31