web-dev-qa-db-fra.com

Comment définir la couleur du texte dans une vue de texte par programme

Comment définir la couleur du texte d'une vue de texte sur #bdbdbd par programme?

229
Noby

Utilisation,..

Color.parseColor("#bdbdbd");

comme,

mTextView.setTextColor(Color.parseColor("#bdbdbd"));

Ou si vous avez défini un code de couleur dans le fichier color.xml de la ressource,

(À partir de l'API> = 23)

mTextView.setTextColor(ContextCompat.getColor(context, R.color.<name_of_color>));

(Pour API <23)

mTextView.setTextColor(getResources().getColor(R.color.<name_of_color>));
574
user370305

Grandes réponses. Ajout de n qui charge la couleur à partir d'un xml Android resources mais le définit toujours par programme:

textView.setTextColor(getResources().getColor(R.color.some_color));

Veuillez noter qu'à partir de l'API 23, getResources().getColor() est obsolète. Utilisez à la place:

textView.setTextColor(ContextCompat.getColor(context, R.color.some_color));

où la couleur requise est définie dans un fichier XML comme:

<resources>
  <color name="some_color">#bdbdbd</color>
</resources>

Mise à jour:

Cette méthode était obsolète dans l'API de niveau 23. Utilisez plutôt getColor (int, Theme).

Vérifiez this .

217
AlikElzin-kilaka
yourTextView.setTextColor(color);

Ou, dans votre cas: yourTextView.setTextColor(0xffbdbdbd);

36
Jave
TextView tt;
int color = Integer.parseInt("bdbdbd", 16)+0xFF000000;
tt.setTextColor(color);

aussi

tt.setBackgroundColor(Integer.parseInt("d4d446", 16)+0xFF000000);

aussi

tt.setBackgroundColor(Color.parseColor("#d4d446"));

voir:

Conversion de chaînes en couleurs Java/Android

21
Marek Sebera