web-dev-qa-db-fra.com

Quelle est la couleur par défaut pour le texte dans textview?

Je mets la couleur en rouge, puis je veux redéfinir la couleur par défaut, mais je ne sais pas quelle est la couleur par défaut. Quelqu'un sait-il?

58
Lukap

Vous pouvez enregistrer l'ancienne couleur, puis l'utiliser pour restaurer la valeur d'origine. Voici un exemple:

ColorStateList oldColors =  textView.getTextColors(); //save original colors
textView.setTextColor(Color.RED);
....
textView.setTextColor(oldColors);//restore original colors

Cependant, en général, la couleur du texte TextView est déterminée à partir du thème actuel appliqué à votre Activity

70
inazaruk

En fait, la couleur TextView est: 

Android:textColor="@Android:color/tab_indicator_text"

ou

#808080
60
Alex Zaraos

Certaines couleurs par défaut sont définies dans Android.R.color

int c = getResources().getColor(Android.R.color.primary_text_dark);
34
davenpcj

Obtenez ces valeurs à partir d'attributs:

int[] attrs = new int[] { Android.R.attr.textColorSecondary };
TypedArray a = getTheme().obtainStyledAttributes(R.style.AppTheme, attrs);
DEFAULT_TEXT_COLOR = a.getColor(0, Color.RED);
a.recycle();
13
Bondax

Le thème contient des valeurs par défaut utilisées par Android si vous ne spécifiez pas de couleur de texte. Il peut s'agir de couleurs différentes dans diverses interfaces utilisateur Android (par exemple, HTC Sense, Samsung TouchWiz, etc.). Android ayant les thèmes _dark et _light, les valeurs par défaut sont donc différentes (mais presque noires dans les deux versions de Vanilla Android). Il est toutefois recommandé de définir vous-même la couleur de votre texte principal afin de fournir un style cohérent sur tous les appareils.

Dans du code:

getResources().getColor(Android.R.color.primary_text_dark);
getResources().getColor(Android.R.color.primary_text_light);

En XML:

Android:color="@Android:color/primary_text_dark"
Android:color="@Android:color/primary_text_light"

Comme référence dans Vanilla Android, la couleur du texte du thème sombre est #060001 et celle du thème clair est #060003 depuis API v1. Voir la classe de style Android ici

5
patrickf

Je sais que c'est vieux, mais selon mon propre éditeur de thème avec le thème de lumière par défaut, par défaut 

textPrimaryColor = #000000

et

textColorPrimaryDark = #757575
1

Je crois que la valeur entière de couleur par défaut est 16711935 (0x00FF00FF).

1
C Nick

hey tu peux essayer ça

ColorStateList colorStateList = textView.getTextColors();
String hexColor = String.format("#%06X", (0xFFFFFF & colorStateList.getDefaultColor()));
0
Vivek Pratap Singh

J'ai trouvé que Android:textColor="@Android:color/secondary_text_dark" fournit un résultat plus proche de la couleur TextView par défaut que Android:textColor="@Android:color/tab_indicator_text". Je suppose que vous devez basculer entre secondary_text_dark/light en fonction du thème que vous utilisez

0

Il n'y a pas de couleur par défaut. Cela signifie que chaque appareil peut avoir le sien.

0
piotrpo