I set the color to red , and after that I want to set the color again back to default, but I do not know what is default color, does anyone knows ?
This question is related to
android
colors
textview
default
android-gui
I found that android:textColor="@android:color/secondary_text_dark"
provides a closer result to the default TextView color than android:textColor="@android:color/tab_indicator_text"
.
I suppose you have to switch between secondary_text_dark/light depending on the Theme you are using
hey you can try this
ColorStateList colorStateList = textView.getTextColors();
String hexColor = String.format("#%06X", (0xFFFFFF & colorStateList.getDefaultColor()));
There is no default color. It means that every device can have own.
I know it is old but according to my own theme editor with default light theme, default
textPrimaryColor = #000000
and
textColorPrimaryDark = #757575
It may not be possible in all situations, but why not simply use the value of a different random TextView that exists in the same Activity and that carries the colour you are looking for?
txtOk.setTextColor(txtSomeOtherText.getCurrentTextColor());
Actually the color TextView is:
android:textColor="@android:color/tab_indicator_text"
or
#808080
I believe the default color integer value is 16711935 (0x00FF00FF).
I used a color picker on the textview and got this #757575
There are some default colors defined in android.R.color
int c = getResources().getColor(android.R.color.primary_text_dark);
Get these values from attributes:
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();
There are defaults in the theme that Android uses if you don't specifiy a text color. It may be different colors in various Android UIs (e.g. HTC Sense, Samsung TouchWiz, etc). Android has a _dark
and _light
theme, so the defaults are different for these (but nearly black in both of them in vanilla android). It is however good practice to define your primary text color yourself for to provide a consistent style throughout the devices.
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"
As reference in vanilla Android the dark theme text color is #060001
and the in the light theme it's #060003
since API v1. See the android style class here
You could use TextView.setTag/getTag to store original color before making changes. I would suggest to create an unique id resource in ids.xml to differentiate other tags if you have.
before setting to other colors:
if (textView.getTag(R.id.txt_default_color) == null) {
textView.setTag(R.id.txt_default_color, textView.currentTextColor)
}
Changing back:
textView.getTag(R.id.txt_default_color) as? Int then {
textView.setTextColor(this)
}
Source: Stackoverflow.com