Что такое цвет по умолчанию для текста в textview?

Я установил цвет в красный, и после этого я хочу снова установить цвет по умолчанию, но я не знаю, что такое цвет по умолчанию, кто-нибудь знает ?

7 ответов


вы можете сохранить старый цвет, а затем использовать его для восстановления исходного значения. Вот пример:

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

но вообще по умолчанию TextView цвет текста определяется из текущей темы, примененной к вашему Activity.


На самом деле цвет TextView:

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

или

#808080

есть некоторые цвета по умолчанию, определенные в android.R.color

int c = getResources().getColor(android.R.color.primary_text_dark);

получить эти значения из атрибутов:

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();

в теме, которую использует Android, есть значения по умолчанию, если вы не указываете цвет текста. Это могут быть разные цвета в различных Android UIs (например, HTC Sense, Samsung TouchWiz и т. д.). Android имеет _dark и _light тема, поэтому по умолчанию для них разные (но почти черные в обоих из них в vanilla android). Однако рекомендуется определить свой основной цвет текста самостоятельно, чтобы обеспечить согласованный стиль на всех устройствах.

In код:

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

в xml:

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

в качестве ссылки в vanilla Android темный цвет текста темы #060001 и в светлой теме это #060003 начиная с API v1. см. класс стиля android здесь


Я считаю, что целочисленное значение цвета по умолчанию-16711935 (0x00FF00FF).


нет цвета по умолчанию. Это значит, что каждое устройство может иметь свое.