Android: Как я могу получить доступ к цвету текста по умолчанию? (Нет темы, только стандартная)

#android #user-interface #textcolor

#Android #пользовательский интерфейс #textcolor

Вопрос:

очень короткий вопрос: если я хочу вернуть некоторому тексту (в TextView) цвет текста по умолчанию, как я могу это сделать?

Я не использую никаких тем.

Ответ №1:

Я использовал решение из комментария jellyfish к первому ответу. Много кода для чего-то такого простого, как удаление цвета. Чтобы было понятно:

 private TextView myTextView;
private int defaultTextColor;

public void onCreate(Bundle savedInstanceState) {
    myTextView = (TextView) findViewById(R.id.myTextView);
    defaultTextColor = myTextView.getTextColors().getDefaultColor();
}

public void changeColorBack() {
    myTextView.setTextColor(defaultTextColor);
}
  

Ответ №2:

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

Комментарии:

1. Использовали ли вы «TextView.getTextColors().getColorForState(StateSet, DefaultColor)» или «TextView.getTextColor(Context context, TypedArray attrs, int def)»?

2. ах, забудьте об этом, нашел TextView.getTextColors().getDefaultColor(). 🙂 Большое вам спасибо!

3. Эй, медуза, ты можешь опубликовать код TextView.getTextColors().getDefaultColor() Я не могу понять, как это использовать. На самом деле я хочу применять textcolor по умолчанию во всех своих действиях. Спасибо.

Ответ №3:

Вы можете создать новый TextView и получить из него цвет.

 TextView dummy = new TextView(getActivity());
myTextView.setTextColor(dummy.getTextColors());
  

Ответ №4:

 android:textColor=
  

Должно сработать, также может быть вызвано динамически:

 setTextColor(int)
  

http://developer.android.com/reference/android/widget/TextView.html подробнее о TextView

Комментарии:

1. TextView tv = (TextView) findViewById(R.id.TextView); tv.SetTextColor(1);

2. хм, извините, текст стал черным вместо обычного серого. :/