Pourquoi TextColor(0XFF0000); retoune une texte invisible [Résolu/Fermé]

Signaler
Messages postés
12
Date d'inscription
dimanche 29 décembre 2013
Statut
Membre
Dernière intervention
8 janvier 2014
-
Messages postés
12
Date d'inscription
dimanche 29 décembre 2013
Statut
Membre
Dernière intervention
8 janvier 2014
-
Bonjour,

le titre dit tout

Bouton1.setTextColor(0XFF0000);

Quand je met ce code mon texte disparait au lieu de s'afficher en rouge.


private OnClickListener Bouton1ClickListener = new OnClickListener(){

@Override
public void onClick(View arg0) {
Bouton1.setTextColor(0XFF0000);

}

merci

2 réponses

Messages postés
15985
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
10 août 2020
2 651
Qui a dit que 0xFF0000 correspondait à la couleur rouge ?

"le titre dit tout"
Est-ce qu'il dit par exemple quel est le type de données de Bouton1 ? Non !
Par défaut on a tendance à penser qu'en Java tu fais du Swing, mais setTextColor n'existe pas ! Du coup je pars du principe que tu fais de la programmation Android et que Bouton1 est un TextView, mais c'est loin d'être évident si tu ne le dis pas !

Tu pourrais donc faire par exemple :

int aaptID = R.color.holo_red_dark;
Bouton1.setTextColor(getResources().getColor(aaptId));

Remarque : pour comprendre, il faut savoir que Java gère la transparence, ainsi la couleur est au format 0xAARRGGBB, où AA est la transparence. Si tu mets 0xFF0000 cela correspond à faire 0x00FF0000 tu as donc AA=00 donc ta couleur est totalement transparente et rien ne s'affiche, alors que 0xFFFF0000 devrait fonctionner. Mais c'est le genre de mécanique interne que tu n'as pas à connaître, il vaut mieux privilégier l'utilisation des constantes comme je l'ai fait avec R.color.
Messages postés
12
Date d'inscription
dimanche 29 décembre 2013
Statut
Membre
Dernière intervention
8 janvier 2014

Oui désolé je programme pour android sous eclipse. Et je suis graphiste donc je sais comment connaitre mes couleurs hexadecimale.

Merci beaucoup de l'explication sur la transparence.

Les Couleurs Hexadecimale sont beaucoup plus précise voila pq je prévilégie ce type de donné pour la couleur.

Merci encore