Pourquoi TextColor(0XFF0000); retoune une texte invisible
Résolu
JackDannyL
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
JackDannyL Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
JackDannyL Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
le titre dit tout
Bouton1.setTextColor(0XFF0000);
Quand je met ce code mon texte disparait au lieu de s'afficher en rouge.
merci
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
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 :
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.
"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.
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
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