Подтвердить что ты не робот

Как установить цвет текста в приложении 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
}
4b9b3361

Ответ 1

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

Для стиля

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

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

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

Ответ 2

Как было сказано в denis.solonenko, ответ, правильный подход состоял бы в том, чтобы изменить вашу тему.

Где вы определяете свою тему (в файле 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 -?

(Источник TextColor vs TextColorPrimary vs TextColorSecondary)

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

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

Ответ 3

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

Ответ 4

Задайте свой цвет по умолчанию в res/values/colors.xml следующим образом

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

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

android:textColor="@color/defaultTextColor"

или

textView.setTextColor(R.color.defaultTextColor);