Android 如何删除操作菜单项的背景?

Android 如何删除操作菜单项的背景?,android,Android,我有以下动作菜单: 正如您所看到的,所有这些操作菜单项都具有 背景。我想这和父母的背景是一样的 如何删除此背景 My style.xml如下所示: <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <style name="AppTheme" parent="AppTheme.Base"&g

我有以下动作菜单:

正如您所看到的,所有这些操作菜单项都具有 背景。我想这和父母的背景是一样的

如何删除此背景

My style.xml如下所示:

<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">

<style name="AppTheme" parent="AppTheme.Base"></style>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimaryDark">@color/primaryColorDark</item>
    <item name="colorPrimary">@color/primaryColor</item>
    <item name="colorAccent">@color/accentColor</item>
    <item name="android:textColorPrimary">@color/textcolorsecundary</item>
    <item name="android:textColorSecondary">@color/textcolorsecundary</item>
    <item name="android:actionModeBackground">@color/primaryColor</item>
    <item name="android:windowActionModeOverlay">true</item>
    <item name="android:activatedBackgroundIndicator">@drawable/custom_background_listview_item</item>
</style>

<style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textColorPrimary">@color/textcolorsecundary</item>
    <item name="actionMenuTextColor">@color/textcolorsecundary</item>
    <item name="android:textColorSecondary">@color/textcolorsecundary</item>
    <item name="android:showDividers">beginning</item>
    <item name="android:divider">@color/primaryColorDark</item>
    <item name="android:background">@drawable/custom_background_blue</item>
</style>

<style name="AppTheme.Toolbar.PopupMenu" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:popupBackground">@color/primaryColor</item>
</style>

</resources>

@颜色/原色深色
@颜色/原色
@颜色/强调色
@颜色/文本颜色第二天
@颜色/文本颜色第二天
@颜色/原色
真的
@可绘制/自定义\u背景\u列表视图\u项目
@颜色/文本颜色第二天
@颜色/文本颜色第二天
@颜色/文本颜色第二天
开始
@颜色/原色深色
@可绘制/定制\u背景\u蓝色
@颜色/原色
我的工具栏:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:elevation="2dp"
android:focusable="false"
app:popupTheme="@style/AppTheme.Toolbar.PopupMenu"
app:theme="@style/AppTheme.Toolbar" >

<TextView
    android:id="@+id/toolbar_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:background="@null"
    android:textColor="@color/white"
    android:textSize="20sp"
    android:textStyle="bold" />

</android.support.v7.widget.Toolbar>

您正在style.xml中显式设置动作背景色,与原色相同

<item name="android:actionModeBackground">@color/primaryColor</item>
@color/primaryColor

尝试将其从XML中删除,或者将其更改为适合您的UI的颜色,这样应该可以正常工作。如果您不选择手动为android:actionModeBackground指定颜色,它将简单地从父主题(在您的示例中是theme.AppCompat.Light.NoActionBar)派生其默认值。

下面一行就是问题所在

<style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:background">@drawable/custom_background_blue</item>
</style>

我添加了styles.xmlNo这不会改变任何东西。“actionModeBackground”从未生效,因为我将我的工具栏样式设置为“AppTheme.toolbar”,这是我在上面发布的。我在这里定义的分隔符也没有显示出来。为什么不简单地使用一个直接支持动作条的主题(明暗,随便你喜欢),然后为你关心的界面元素指定颜色呢?这不是我在做的吗?我的设计师关心标题栏和弹出菜单。简单地更改那些溢出菜单项的背景有这么难吗?我没有在我的工具栏元素上设置popupTheme属性(我在帖子中发布了工具栏代码),也没有。。。不幸的是,设置android:popupBackground=@null无助于解决这个问题。我非常感谢您的回答,但它仍然不起作用。我添加了“应用程序:流行音乐”=“@style/AppTheme.Toolbar.PopupMenu”打开我的工具栏,并将“android:popupBackground”设置为红色,以测试它是否有效。不幸的是,我得到的结果与您在操作面板中的图片上看到的结果相同。问题是溢出菜单中的文本视图总是继承其父级的背景。如果我在弹出菜单样式中设置android:background,它也会设置为包含文本视图。我不想让他们打它。PopubBackground根本就没有效果,我真的不知道如何解决这个问题,几个小时的网络搜索也没有帮助。如所述,我的工具栏无法正常工作。。。我的最小api级别是21。这可能是个问题吗?从主题声明中删除
android:background
。主题应用于容器中的所有内容,因此工具栏(包括工具栏)中的所有内容都将具有您不希望的自定义背景。直接在元素上指定工具栏背景,或通过
style
(而不是
app:theme
)指定工具栏背景。
<style name="AppTheme.Toolbar.PopupMenu" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:popupBackground">@drawable/custom_background_blue</item>
</style>