与 Android 中的工具栏主题相同的 ActionMode

ActionMode with same theme as Toolbar in Android

在Android中,有什么方法可以让ActionMode 与普通的Toolbar 具有相同的外观吗?目前我的 ActionMode 看起来与工具栏不同,因为背景稍微亮一些(至少使用 Theme.AppCompat.NoActionBar),MenuItems 完全是 black/white(取决于主题)而不是 colorControlNormal(这我将它们设置为),最烦人的是,在 ActionMode 下有一个我似乎无法摆脱的下划线。相反,我试图使 ActionMode 与工具栏无法区分。

工具栏(也是 ActionMode 的样子):

ActionMode 当前的样子:

非常感谢任何帮助!

  1. 用于更改 ActionMode 的背景颜色并删除底线。您可以使用 actionModeStylebackground 设置为您想要的颜色。
  2. 要更改图标颜色,您可以在 actionBarTheme.
  3. 中设置 colorControlNormal

所以你的主题应该是这样的:

<style name="Theme.AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

        <!--add this-->
        <item name="actionModeStyle">@style/ActionModeStyle</item>
        <item name="actionBarTheme">@style/MyActionBarTheme</item>

    </style>

    <style name="MyActionBarTheme" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
        //replace with your own desired color
        <item name="colorControlNormal">#a00</item>
    </style>

    <style name="ActionModeStyle" parent="@style/Widget.AppCompat.ActionMode">
        //replace with your own desired color
        <item name="background">@color/colorPrimary</item>
        <item name="titleTextStyle">@style/ActionModeTitleTextStyle</item>
    </style>

    <style name="ActionModeTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionMode.Title">
        //replace with your own desired color
        <item name="android:textColor">#a00</item>
    </style>