Aller au contenu

[Résolu] Customization graphique des boutons


bobotetete

Recommended Posts

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
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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;

Lien vers le commentaire
Partager sur d’autres sites

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