Android 如何设置弹出菜单的背景色?

Android 如何设置弹出菜单的背景色?,android,android-menu,Android,Android Menu,大家好,我正在处理弹出菜单的一个小问题。老实说,我不知道问题出在哪里,我试着在网上搜索,如果我能找到任何答案,但不幸的是我找不到。所以 我创建了一个自定义工具栏,并将“活动”设置为“无操作栏”。然后我在这个工具栏上创建了一个弹出菜单。首先,我尝试通过样式更改菜单图标,结果成功了。但后来我想更改菜单项的背景和文本颜色 这是我在菜单项的“设计”选项卡中的代码: <menu xmlns:android="http://schemas.android.com/apk/res/android" xm

大家好,我正在处理弹出菜单的一个小问题。老实说,我不知道问题出在哪里,我试着在网上搜索,如果我能找到任何答案,但不幸的是我找不到。所以

我创建了一个自定义工具栏,并将“活动”设置为“无操作栏”。然后我在这个工具栏上创建了一个弹出菜单。首先,我尝试通过样式更改菜单图标,结果成功了。但后来我想更改菜单项的背景和文本颜色

这是我在菜单项的“设计”选项卡中的代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item android:id="@+id/fitItem1"
    android:title="Item 1"
    app:showAsAction="never" />

<item android:id="@+id/fitItem2"
    android:title="Item 2"
    app:showAsAction="never"/>

<item android:id="@+id/fitItem3"
    android:title="Item 3"
    app:showAsAction="never"/>

甚至在设计菜单中,它看起来也是这样: 但当你启动应用程序时,默认情况下会显示(白色背景,黑色文本)

所以我认为它是以某种风格为背景的,但并没有这样的东西,我试图遵循的每一个指南都没有效果。除了style name=“MyPopBackground”之外,它实际上改变了背景

   <resources>

        <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->

        <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
        <item name="android:itemTextAppearance">@style/MyApp.PopupMenu</item>
        <item name="android:popupBackground">@style/MyPopBackground</item>


    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="MyActionButtonOverflow" parent="android:Widget.Holo.Light.ActionButton.Overflow">
        <item name="android:src">@drawable/triple_dot_icon</item>
    </style>

    <style name="MyApp.PopupMenu" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/colorLightGrey</item>
    </style>

    <style name="MyPopBackground" parent="android:style/Widget.Holo.Light.ListPopupWindow">
        <item name="android:popupBackground">@color/colorGrey</item>
    </style>

    </resources>

@样式/MyActionButtonOverflow
@style/MyApp.PopupMenu
@样式/背景
假的
真的
@可绘制/三重点图标
@颜色/浅灰色
@颜色/颜色灰
可能会有一些无用的风格,但因为我不知道哪里是问题。我把它们留在那里了。我的目标是使菜单看起来像之前显示的那样


我很乐意提供任何帮助,谢谢您的帮助。

在style AppTheme中,您将添加
@color/colorMenu
将popupMenu样式添加到您的AppTheme中

<style name="AppTheme" parent="android:Theme.Light">
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
    <item name="android:popupBackground">@android:color/white</item>
</style>

@样式/弹出菜单
@android:彩色/白色
然后是mainifest.xml

<application
    android:theme="@style/AppTheme" >
</application>

看看这个,情况也一样