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?
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
.
En fait, la couleur TextView est:
Android:textColor="@Android:color/tab_indicator_text"
ou
#808080
Certaines couleurs par défaut sont définies dans Android.R.color
int c = getResources().getColor(Android.R.color.primary_text_dark);
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();
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
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
Je crois que la valeur entière de couleur par défaut est 16711935 (0x00FF00FF).
hey tu peux essayer ça
ColorStateList colorStateList = textView.getTextColors();
String hexColor = String.format("#%06X", (0xFFFFFF & colorStateList.getDefaultColor()));
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
Il n'y a pas de couleur par défaut. Cela signifie que chaque appareil peut avoir le sien.