Цвет панели действий не меняется с AppCompat v7: 21

1

В настоящее время я пытаюсь установить особый цвет фона в панели действий на AppCompat v7: 21. Я пробовал много возможностей, и до сих пор я не могу понять, что происходит.

Это мои res/values/styles.xml:

<resources>

    <color name="action_bar">#000</color>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here. -->
        <item name="actionBarStyle">@style/MyActionBar</item>

    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@color/action_bar</item>

    </style>

</resources>
  • 0
    Вы используете Toolbar ? Если это так, вы устанавливаете цвет фона для представления в макете.
  • 0
    К сожалению, нет ...: / На самом деле, я создал новый проект только для того, чтобы повторить это. Если это помогает, устройство тестирования запускает 4.4.4 KitKat
Показать ещё 2 комментария
Теги:
android-actionbar
appcompat

1 ответ

4
Лучший ответ

Я понял! На самом деле, много пользовательских интерфейсов изменилось в API 21 и т.д. AppCompat v7. Вы можете установить цвета Action Bar (среди прочих) следующим образом:

<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/material_blue_500</item>
    <item name="colorPrimaryDark">@color/material_blue_700</item>
    <item name="colorAccent">@color/material_green_A200</item>
</style>

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

Обсервованный : Я попытался использовать их, несколько часов назад, в <style> с parent="Widget.AppCompat.Light.ActionBar" который не работает. Они должны быть помещены в элемент "root" <style>. Именно эта ошибка заставила меня написать это.

Извините за свои знания английского языка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню