Не могу исправить стили для панели инструментов в режиме действия

Я не могу понять, как исправить стили для моего Toolbar в режиме действия.

<!-- DialogWhenLarge uses to show Activity as Dialog on the tablet -->
    <style name="Theme.Paper.DialogWhenLarge" parent="Theme.AppCompat.Light.DialogWhenLarge">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="actionBarTheme">@style/Theme.Paper.Toolbar</item>
        <item name="actionBarPopupTheme">@style/Theme.Paper.Toolbar.PopupOverlay</item>
        <!-- Below attributes available on the v11+ only -->
        <item name="android:windowCloseOnTouchOutside">false</item>
    </style>

    <style name="Theme.Paper.Toolbar" parent="Theme.Paper">
        <item name="android:background">@color/primary</item>
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:textColorSecondary">@color/white</item>
        <item name="colorControlNormal">@color/white</item>
        <item name="colorControlHighlight">@color/accent</item>
        <item name="colorControlActivated">@color/white</item>
        <item name="actionMenuTextColor">@color/white</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    </style>

    <style name="Theme.Paper.Toolbar.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="android:textColorPrimary">@color/black_87</item>
        <item name="android:textColorSecondary">@color/black_54</item>
        <item name="android:colorBackground">@color/white</item>
        <item name="colorControlHighlight">@color/black_30</item>
        <item name="colorControlActivated">@color/white</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    </style>

В чем моя проблема? И что я хочу получить? Я разместил это ниже.

Правильный стиль панели инструментов такой, какой мне нужен
Правильный стиль панели инструментов
Но в режиме действия это выглядит так (белые действия и меню с основным цветом фон и белый текст)
Неправильный стиль панели инструментов
P.S. Я пытался исправить это, но каждый раз я получаю неправильные стили.


person Шах    schedule 13.05.2017    source источник


Ответы (1)


Я не уверен... но, может быть, у кого-то будет такая же проблема. Итак, ниже решение, которое работает для меня:

<resources>
    <!--
    *
    * App themes
    *
    -->
    <!-- DialogWhenLarge uses to show Activity as Dialog on the tablet -->
    <style name="Theme.Paper.DialogWhenLarge" parent="Theme.AppCompat.Light.DialogWhenLarge">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="actionBarPopupTheme">@style/Theme.Paper.Toolbar.PopupOverlay</item>
        <item name="actionModeStyle">@style/Theme.Paper.ActionMode</item>
        <!-- Below attributes available on the v11+ only -->
        <item name="android:windowCloseOnTouchOutside">false</item>
    </style>
    <!--
    *
    * ActionBar, AppBarLayout and Toolbar styles
    *
    -->
    <!-- Action mode -->
    <style name="Theme.Paper.ActionMode" parent="Widget.AppCompat.ActionMode">
        <item name="background">@color/primary</item>
    </style>
    <!-- Toolbar -->
    <style name="Theme.Paper.Toolbar" parent="Theme.Paper">
        <item name="android:background">@color/primary</item>
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:textColorSecondary">@color/white</item>
        <item name="colorControlNormal">@color/white</item>
        <item name="colorControlHighlight">@color/accent</item>
        <item name="colorControlActivated">@color/white</item>
        <item name="actionMenuTextColor">@color/white</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    </style>
    <!-- Toolbar popup overlay -->
    <style name="Theme.Paper.Toolbar.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="android:textColorPrimary">@color/black_87</item>
        <item name="android:textColorSecondary">@color/black_54</item>
        <item name="android:colorBackground">@color/white</item>
        <item name="colorControlHighlight">@color/black_30</item>
        <item name="colorControlActivated">@color/white</item>
        <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    </style>

</resources>
person Шах    schedule 13.05.2017