Pregunta

¿Es posible especificar una imagen diferente cuando el enfoque del usuario llega a un ImageButton? Quiero mostrar un botón de imagen en un LinearLayout y cambiar la imagen cuando el usuario enfoca el botón o cuando el usuario presiona el botón.

Gracias.

¿Fue útil?

Solución

Sí, puedes hacer esto. Lo que necesita es un archivo xml dibujable que defina un selector.

<selector xmlns:android...
  <item android:state_enabled="false" android:state_focused="true" android:drawable="..." />
  <item android:state_enabled="true" android:state_focused="false" android:drawable="..." />
</selector>

Luego, use la identificación de este XML dibujable cuando especifique el ImageButton en su diseño XML.

Otros consejos

La respuesta precedente no funcionó para mí. Aquí está el código que encontré en otra parte:

    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
         <item android:drawable="@drawable/refresh_pushed" android:state_pressed="true" />
         <item android:drawable="@drawable/refresh" />
    </selector>

También puede agregar un estado para objetos enfocados al agregar una línea y usar:

  

android: state_focused = " true "

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top