Android - image différente pour le basculement sur ImageButton
-
03-07-2019 - |
Question
Est-il possible de spécifier une image différente lorsque le focus de l'utilisateur concerne un ImageButton? Je souhaite afficher un bouton d'image sur LinearLayout et modifier l'image lorsque le focus de l'utilisateur apparaît sur le bouton ou lorsque l'utilisateur appuie sur le bouton.
Merci.
La solution
Oui, vous pouvez le faire. Ce dont vous avez besoin est un fichier XML dessinable qui définit un sélecteur.
<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>
Ensuite, utilisez l'id de ce XML dessinable lors de la spécification de ImageButton dans votre présentation XML.
Autres conseils
La réponse précédente n'a pas fonctionné pour moi. Voici le code que j'ai trouvé ailleurs:
<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>
Vous pouvez également ajouter un état pour les objets masqués en ajoutant une ligne et en utilisant:
android: state_focused = "true"