【问题标题】:Can't fix styles for toolbar in the action mode无法在操作模式下修复工具栏的样式
【发布时间】:2023-03-29 10:20:01
【问题描述】:

我无法在动作模式下为我的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>

我的问题在哪里?我想得到什么?我把它贴在下面。

正确的工具栏样式是我需要的

但在动作模式下它看起来如此(白色动作和带有原色背景和白色文本的菜单)

附言我试图修复它,但每次我得到错误的样式。

【问题讨论】:

    标签: android android-toolbar android-actionmode


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多