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