comment obtenir la couleur du texte de textview?

Dans le code donné, lbl [0] .getTextColor () donne une erreur mais je ne sais pas comment obtenir la couleur du texte de textview dans le fichier java, aidez-moi.

public void angry(View v) { if (lbl[0].getTextColor() == Color.BLACK) lbl[0].setTextColor(Color.RED); if (lbl[0].getTextColor() == Color.RED) lbl[0].setTextColor(Color.BLACK); } 

Merci.

Utilisez ceci

textView.getCurrentTextColor()

Il y a une chose importante à retenir: getCurrentTextColor () ainsi que des méthodes similaires telles que getCurrentHintTextColor () et getHighlightColor () return int value pas hex principalement utilisées pour définir les couleurs. Cela pourrait même être plus déroutant car il s’agit d’un nombre négatif, par exemple pour le rouge, il est -65536, pour le vert -16711936 et pour le blanc -1.

Pour simplifier, c’est parce que getCurrentTextColor () renvoie la différence entre la couleur actuelle et la valeur de couleur blanche (les deux en décimal) moins 1. L’expression est: CurrentColor- (WhiteColor + 1), où blanc est 16777215. Bien sûr, pour les couleurs standard Vous pouvez utiliser des constantes prédéfinies comme Color.GREEN ou Color.MAGENTA, mais sachant que vous pouvez utiliser efficacement getCurrentTextColor () pour toutes les couleurs.

Vous pouvez en savoir plus sur la définition et l’obtention de couleurs dans Android à l’ adresse http://android4beginners.com/2013/07/lesson-1-3-how-to-change-a-color-of-text-and-background-in -affichage/

Si vous utilisez la bibliothèque contextcompat pour définir la couleur des nouvelles versions d’android, vous pouvez obtenir une valeur différente de celle ci-dessus. Ce test a fonctionné pour moi où j’utilisais les éléments suivants pour définir la couleur de test

view.setTextColor (ContextCompat.getColor (ctx, color));

  textColor =view.getCurrentTextColor(); CoreApp.debug("viewutils", "green color: "+textColor); assertThat(textColor, is(ContextCompat.getColor(mCtx, R.color.green)));