Domanda

È possibile specificare un'immagine diversa quando il focus dell'utente viene su un ImageButton? Voglio visualizzare un pulsante immagine su un LinearLayout e cambiare l'immagine quando il focus dell'utente viene sul pulsante o quando l'utente preme il pulsante.

Grazie.

È stato utile?

Soluzione

Sì, puoi farlo. Ciò di cui hai bisogno è un file XML disegnabile che definisce un selettore.

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

Quindi, utilizzare l'id di questo XML disegnabile quando si specifica ImageButton nel proprio XML di layout.

Altri suggerimenti

La risposta precedente non ha funzionato per me. Ecco il codice che ho trovato altrove:

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

È inoltre possibile aggiungere uno stato per gli oggetti inceppati aggiungendo una linea e usando:

  

android: state_focused = " allineare "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top