Aller au contenu

Recommended Posts

Posté(e) (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é par bobotetete
Posté(e)

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

Posté(e)

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.

Posté(e)

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

Posté(e)

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.

button1g.png

button2lvt.png

Avez-vous une idée de ce que ça peut être ?

Merci.

Posté(e)

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;

Posté(e)

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

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...