нет R.attr.textPrimaryColor в AppCompat v7 r21

В документации для SDK 21 есть атрибут R.attr.textPrimaryColor, который предположительно устанавливает цвет заголовка панели инструментов в соответствии с этим страница.

Однако этого атрибута нет в теме AppCompat, включенной в библиотеку поддержки AppCompat v7 r21. Как именно мы можем установить цвет заголовка через тему, а не через код?


person Ahmed Nawara    schedule 21.10.2014    source источник


Ответы (2)


Вы можете использовать что-то вроде этого:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:theme="@style/ActionBarThemeOverlay"
/>

<style name="ActionBarThemeOverlay" parent="">
    <item name="android:textColorPrimary">#fff</item>
    <item name="colorControlNormal">?actionBarIconColor</item>
    <item name="colorControlHighlight">#3fff</item>
</style>
person Gabriele Mariotti    schedule 21.10.2014
comment
Это хорошее решение, поскольку оно также переопределяет цвет субтитров и тематических значков (например, переполнения). - person alanv; 22.10.2014

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

Рез/макет/my_layout.xml:

<android.support.v7.widget.Toolbar
    xmlns:app="http://schemas.android.com/apk/res-auto"
    style="@style/MyToolbarStyle" />

рез/значения/стили.xml:

<style name="MyToolbarStyle" parent="Widget.AppCompat.Toolbar">
    <item name="titleTextAppearance">@style/MyToolbarTextAppearance</item>
</style>

<style name="MyToolbarTextAppearance"
       parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textColor">@color/my_color</item>
</style>
person alanv    schedule 21.10.2014