Найти тему

Про цветовые атрибуты темы

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

Если вы хотите использовать какую-то готовую тему, но изменить в ней основные цвета, то вам предстоит их переопределить в вашей теме.

Сначала её нужно создать в файле res\values\styles.xml

Затем создаем тему в этом файле:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionTheme">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

В этом примере переопределены цвета:

colorPrimary - основной цвет приложения, используется для панели приложения (Toolbar)

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

colorAccent - цвет элементов пользовательского интерфейса (текстовых полей и флажков)

В примере в качестве значений item'ов этих цветов используются ссылки на ресурсы цветов - //@color/colorPrimary. Так правильно, хотя можно задать значение цвета вместо ссылки на ресурс, причём в различных форматах.

Есть множество других цветов темы, их также можно переопределить.

После редактирования темы (хоть и называется <style>, но в нашей ситуации - это тема), она задается в файле манифеста для всего приложения через атрибут android:theme. Например:

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