bobotetete Posté(e) 6 juillet 2009 Share Posté(e) 6 juillet 2009 (modifié) Bonjour à tous, je débute totalement avec Android et je suis un peu perdu. J'aimerai customizer un button. Je voudrais mettre une image quand il est dans son état normal et une autre quand je clique dessus. Je ne vois pas comment faire. Est-ce possible en XML ou faut-il le faire en Java ? Pouvez-vous m'aider ? Merci. Modifié 7 juillet 2009 par bobotetete Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 6 juillet 2009 Share Posté(e) 6 juillet 2009 Bonjour :) Tu peux te servir d'un widget ImageButton pour faire ce dont tu as envie Du fait que l'ImageButton soit une sous-classe de ImageView, il suffit d'implémenter le onClickListener puis de changer l'image lorsque celui-ci est appelé (donc lors du click)* Ceci en Java :o Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bobotetete Posté(e) 7 juillet 2009 Auteur Share Posté(e) 7 juillet 2009 Ok, je vais regarder ça. Merci beaucoup ! :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 7 juillet 2009 Share Posté(e) 7 juillet 2009 Np :D Si tu as la moindre question n'hésite pô, sinon tu peux mettre le tag [Résolu] devant le titre de ton Topic ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
thomas.l Posté(e) 7 juillet 2009 Share Posté(e) 7 juillet 2009 Je te conseille vivement de regarder le principe des thèmes. Si tu veux le faire juste pour un bouton en particulier et non pour tous, il suffit de changer son background et d'y affecter un selector drawable (voir btn-default.xml je crois dans les sources android), c'est un xml qui dit quel PNG afficher selon l'état du bouton. Faut se renseigner aussi sur les NinePatch PNG, vraiment super. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bobotetete Posté(e) 7 juillet 2009 Auteur Share Posté(e) 7 juillet 2009 @Fluckysan: C'est bon j'ai fais comme tu m'as dit et ça marche ! :D @thomas.l: Si tu as un lien sur les thèmes je suis preneur :) Merci beaucoup pour votre aide ! :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
thomas.l Posté(e) 7 juillet 2009 Share Posté(e) 7 juillet 2009 Sur le site android developers y'a un passage là dessus qui est presque suffisant. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 7 juillet 2009 Share Posté(e) 7 juillet 2009 Vi tu peux en effet le faire de cette façon (plus simple d'ailleurs, dsl j'ai le réflexe code :p) En fait tu crées tes 2 images (en attente et pressé) puis tu crée un XML dans res/drawable (exemple "myBDrawable.xml") avec ce type de code : <?xml version="1.0" encoding="utf-8"?> Tu as bien sûr d'autres états Ensuite tu fais appel à ton xml par son ResId dans le XML où est défini la layout de ton bouton par exemple : android:id="@+id/ImageButton01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/myBDrawable"> Avec ceci le changement de d'image (de drawable) se fait tout seul :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bobotetete Posté(e) 8 juillet 2009 Auteur Share Posté(e) 8 juillet 2009 Hello, je viens d'essayer cette méthode en XML et j'ai un soucis. En effet bien que mes images soient affichées dans le bouton dans le bon état, j'ai quand même l'image du bouton par défaut qui est affichée et j'ai toujours la couleur orange lors du clic. Avez-vous une idée de ce que ça peut être ? Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jorodan Posté(e) 8 juillet 2009 Share Posté(e) 8 juillet 2009 C'est H-S mais ton bouton est joli ^^ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 8 juillet 2009 Share Posté(e) 8 juillet 2009 tu affiche l'image orange sur le pressed du coup quand tu click il passe orange. Puis le normal sur un focus. lorsque tu lache le bouton il reprend le focus (donc mauvaise image ^^) Moi aussi j ai le reflexe code. Je ferais: un static boolean etat; Dans le OnClick: if(etat){ ... code pour mettre l'image pressée } else { code pour mettre l'image non préssée } etat = !etat; Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
thomas.l Posté(e) 8 juillet 2009 Share Posté(e) 8 juillet 2009 Ne passe pas par du code, c'est tout prévu pour que ça se fasse facile en XML. Dans l'exemple qu'a donné Fluckysan, mets plutot un Button avec la propriété background vers le drawable au lieu d'un ImageButton avec src Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
bobotetete Posté(e) 9 juillet 2009 Auteur Share Posté(e) 9 juillet 2009 Ok. Merci à tous pour votre aide. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.