2011-04-26 25 views
5

Cuando tengo un botón de Android y lo configuro como deshabilitado, el botón parece ser "transparente".botón de deshabilitar con fondo personalizado android

Tengo un botón con fondo personalizado para el estado presionado y enfocado. Quiero desactivarlo desde el código. Cuando intento button.setEnabled(false); deshabilito el botón, pero mantiene el mismo fondo personalizado. ¿Alguna idea de cómo desactivar mi botón personalizado y también cambia el fondo como transparente?

+0

http://stackoverflow.com/questions/3244022/andrioid-button-set-background-to-transparent-color –

Respuesta

11

¿Tal vez podría usar android:state_enabled y configurarlo para dibujar transparentes apropiados en su selector para este botón?

29

que se debe crear selector personalizado así:

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

Para que el selector, cree un nuevo archivo XML en el directorio 'res/drawable /' –

Cuestiones relacionadas