Partage
  • Partager sur Facebook
  • Partager sur Twitter

Changer couleur background button android

Sujet résolu
28 octobre 2012 à 18:25:13

Bonjour à vous,

Voila je souhaites changer la couleur d'un bouton.
Pour cela mon bouton utilise un drawable rond nommé "rond_noir":

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"       
    > 
    <solid android:color="#0C0F00"
     /> 
    <corners        
        android:bottomRightRadius="20dp"
        android:bottomLeftRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp"/>
</shape>


Je l'applique donc dans le xml.

Dans mon programme je souhaites que lorsque l'on clic dessus selon sa couleur précédente il en change ( Si couleur noir alors devient rouge)
Voici le code :

final  Button bouton = (Button)findViewById(R.id.Button01);

		bouton.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				
				if ( bouton.getBackground() == getResources().getDrawable(R.drawable.rond_noir)  )
					bouton.setBackgroundDrawable(getResources().getDrawable(R.drawable.rond_rouge));
				
				else if (bouton.getBackground() == getResources().getDrawable(R.drawable.rond_rouge ))
					bouton.setBackgroundDrawable(getResources().getDrawable(R.drawable.rond_bleu));
				
				else if (bouton.getBackground() == getResources().getDrawable(R.drawable.rond_bleu ))
					bouton.setBackgroundDrawable(getResources().getDrawable(R.drawable.rond_vert));
				
				else if (bouton.getBackground() == getResources().getDrawable(R.drawable.rond_vert ))
					bouton.setBackgroundDrawable(getResources().getDrawable(R.drawable.rond_rouge));

		
			}
		});


Mais cela ne fonctionne pas.

Avez vous une idée , Merci
  • Partager sur Facebook
  • Partager sur Twitter
29 octobre 2012 à 9:20:26

Bonjour,
je pense que tu dois utilisé ForeGround au lieu de Background

exemple:
if (bouton.getForeground()==Color.black)
{
   bouton.setForeground(Color.red);
}
  • Partager sur Facebook
  • Partager sur Twitter
29 octobre 2012 à 10:54:49

Non eclipse ne me le propose pas. J'ai essayé getSolidColor mais ne fonctionne pas non plus.

  • Partager sur Facebook
  • Partager sur Twitter
1 février 2018 à 15:50:38

Voila

https://www.youtube.com/watch?v=oAZDkyTitGU

  • Partager sur Facebook
  • Partager sur Twitter
9 février 2018 à 12:19:16

Pour changer la couleur background d'un button ou mettre  une image comme background

https://www.youtube.com/watch?v=aZagrpQUuvc&t=19s

  • Partager sur Facebook
  • Partager sur Twitter
8 août 2018 à 15:46:10

utilise le setBackgroundColor(int) methode elle change la couleur de button
  • Partager sur Facebook
  • Partager sur Twitter
8 août 2018 à 17:28:22

Bonjour, Dernière connexion de l'OP: 18 décembre 2015!!

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet.

  • Partager sur Facebook
  • Partager sur Twitter