Как установить цвет текста в приложении Android для всего текста?

Я хочу определить цвет текста по умолчанию для моего приложения для Android.

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

Если это не лучшее решение? Может быть, стили?

Проблема в том, что все это для меня нова, поэтому не стесняйтесь советовать мне и предоставлять фрагменты кода и объяснения.

Вот как выглядит мой базовый класс. Как вы видите, это довольно пусто

package com.ccslocal.mobile.quiz.jls; import android.app.Activity; import android.os.Bundle; public class BaseActivity extends Activity { //set up app preferences here } 

Solutions Collecting From Web of "Как установить цвет текста в приложении Android для всего текста?"

Да, вы правы, вы можете сделать это с помощью стиля. Или вы можете использовать TextView.getTextColors (). GetDefaultColor () для установки цвета текста по умолчанию. На самом деле я никогда не использовал это, но я думаю, что это может вам помочь.

Для стиля

 <style name="TextColor"> <item name="android:textColor">#00FF00</item> </style> 

Затем в файле макета

 <TextView style="@style/TextColor" /> 

Как уже упоминалось в ответе Дениса.Солоненко, правильным подходом было бы изменение вашей темы.

Где вы определяете свою тему (в файле themes.xml или styles.xml), вам нужно добавить что-то вроде этого:

 <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> ... <item name="android:textColor">#FF00FF</item> ... </style> 

Затем убедитесь, что тема применяется к вашей Деятельности или Приложению в манифесте:

 <application ... android:theme="@style/AppTheme" .... > 

Вы также можете определить:

  • TextColor – цвет текста по умолчанию для любого вида
  • TextColorPrimary – цвет текста по умолчанию для активированных кнопок и больших текстовых просмотров
  • TextColorSecondary – цвет текста по умолчанию для средних и малых текстовых просмотров
  • TextColorTertiary -?

(Source TextColor vs TextColorPrimary vs TextColorSecondary )

Имейте в виду, что многие другие вещи могут переопределять эти предопределенные цвета, такие как применяемые стили или определения в разных папках ресурсов.

См. Полный список элементов темы: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml.

Создайте настраиваемую тему для своего приложения. Посмотрите на официальное руководство .

Задайте свой цвет по умолчанию в ваших res/values/colors.xml как это

 <color name="defaultTextColor">#ffffff</color> 

Итак, этот цвет для всех ваших текстов

 android:textColor="@color/defaultTextColor" 

или

 textView.setTextColor(R.color.defaultTextColor);