Ich habe die Farbe auf Rot gesetzt, und danach möchte ich die Farbe wieder auf die Standardeinstellung zurücksetzen, aber ich weiß nicht, welche Standardfarbe verwendet wird, weiß das jemand?
Sie können die alte Farbe speichern und anschließend den ursprünglichen Wert wiederherstellen. Hier ist ein Beispiel:
ColorStateList oldColors = textView.getTextColors(); //save original colors
textView.setTextColor(Color.RED);
....
textView.setTextColor(oldColors);//restore original colors
Im Allgemeinen wird jedoch die Standardfarbe für TextView
aus dem aktuellen Thema bestimmt, das auf Ihre Activity
angewendet wird.
Eigentlich ist die Farbe TextView:
Android:textColor="@Android:color/tab_indicator_text"
oder
#808080
In Android.R.color
sind einige Standardfarben definiert.
int c = getResources().getColor(Android.R.color.primary_text_dark);
Holen Sie sich diese Werte aus Attributen:
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();
Das von Android verwendete Design enthält Standardeinstellungen, wenn Sie keine Textfarbe angeben. Es kann unterschiedliche Farben in verschiedenen Android-Benutzeroberflächen geben (z. B. HTC Sense, Samsung TouchWiz usw.). Android hat ein _dark
- und _light
-Design, daher sind die Standardeinstellungen für diese unterschiedlich (in beidem bei Vanilla Android jedoch fast schwarz). Es empfiehlt sich jedoch, Ihre primäre Textfarbe selbst zu definieren, um einen einheitlichen Stil auf allen Geräten zu gewährleisten.
In Code:
getResources().getColor(Android.R.color.primary_text_dark);
getResources().getColor(Android.R.color.primary_text_light);
In xml:
Android:color="@Android:color/primary_text_dark"
Android:color="@Android:color/primary_text_light"
Als Referenz in Vanilla Android ist die dunkle Design-Textfarbe #060001
und die im hellen Thema #060003
seit API v1. Sehen Sie die Android-Stilklasse hier
Ich weiß, dass es alt ist, aber laut meinem eigenen Design-Editor mit Standard-Lichtdesign, Standard
textPrimaryColor = #000000
und
textColorPrimaryDark = #757575
Ich glaube, der Standardwert für die Ganzzahl der Farbe ist 16711935 (0x00FF00FF).
hey, du kannst es versuchen
ColorStateList colorStateList = textView.getTextColors();
String hexColor = String.format("#%06X", (0xFFFFFF & colorStateList.getDefaultColor()));
Ich habe festgestellt, dass Android:textColor="@Android:color/secondary_text_dark"
der Standardfarbe von TextView näher kommt als Android:textColor="@Android:color/tab_indicator_text"
. Ich nehme an, Sie müssen je nach verwendetem Thema zwischen "secondary_text_dark/light" wechseln
Es gibt keine Standardfarbe. Das bedeutet, dass jedes Gerät ein eigenes Gerät haben kann.