Pourquoi TextColor(0XFF0000); retoune une texte invisible

Résolu/Fermé
JackDannyL Messages postés 12 Date d'inscription dimanche 29 décembre 2013 Statut Membre Dernière intervention 8 janvier 2014 - 29 déc. 2013 à 15:28
JackDannyL Messages postés 12 Date d'inscription dimanche 29 décembre 2013 Statut Membre Dernière intervention 8 janvier 2014 - 29 déc. 2013 à 17:14
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

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
29 déc. 2013 à 16:14
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.
0
JackDannyL Messages postés 12 Date d'inscription dimanche 29 décembre 2013 Statut Membre Dernière intervention 8 janvier 2014
29 déc. 2013 à 17:14
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
0