Android 更改弹出菜单的背景色

Android 更改弹出菜单的背景色,android,background-color,popupmenu,Android,Background Color,Popupmenu,在我的Android应用程序中,我使用的是弹出菜单,但其背景为绿色。 我希望它是白色的 如果我在Android 6.0设备上运行它,背景是白色的,但在我的Jellybean设备上显示为绿色 我没有使用Actionbar。 有很多关于这个问题的帖子,我可能已经尝试了其中的大部分,但找不到解决方案 我得到的最接近的是白色背景,但随后边框消失了。 或者我得到一个白色背景,但当按下某个项目时,所选内容显示灰色背景,但文本背景显示为白色。 我正在使用AppCompat 以下是我尝试过的一些方法: <

在我的Android应用程序中,我使用的是弹出菜单,但其背景为绿色。
我希望它是白色的

如果我在Android 6.0设备上运行它,背景是白色的,但在我的Jellybean设备上显示为绿色

我没有使用Actionbar。
有很多关于这个问题的帖子,我可能已经尝试了其中的大部分,但找不到解决方案

我得到的最接近的是白色背景,但随后边框消失了。
或者我得到一个白色背景,但当按下某个项目时,所选内容显示灰色背景,但文本背景显示为白色。
我正在使用AppCompat

以下是我尝试过的一些方法:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="colorControlActivated">#d06655</item>
    <item name="colorAccent">#ffe6e2</item>
    <item name="android:colorActivatedHighlight">#ffe6e2</item>
    <item name="android:windowBackground">@color/white</item>
    <!--<item name="android:popupMenuStyle">@style/PopupMenu</item>-->
    <!--<item name="android:itemBackground">@color/white</item>-->
    <item name="popupMenuStyle">@style/myPopupMenuStyle</item>
    <item name="android:popupMenuStyle">@style/myPopupMenuStyle</item>
</style>

<!--<style name="PopupMenu" parent="Widget.AppCompat.PopupMenu">-->
<!--<style name="PopupMenu" parent="@style/Widget.AppCompat.PopupMenu">-->
<style name="myPopupMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu">
    <item name="android:popupBackground">@android:color/white</item>
</style>

假的
#d06655
#ffe6e2
#ffe6e2
@颜色/白色
@样式/myPopupMenuStyle
@样式/myPopupMenuStyle
@android:彩色/白色

您可以使用(或自己创建一个9patch背景)擦亮弹出菜单

所以我所做的就是——在生成器中指定适当的颜色,将9patched background(菜单\下拉菜单\面板\背景.9.png)恢复并设置为背景:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="popupMenuStyle">@style/PopupMenu.Example</item>
</style>

<style name="PopupMenu.Example" parent="@style/Widget.AppCompat.Light.PopupMenu">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel_background</item>
</style>

@style/PopupMenu.Example
@可绘图/菜单\下拉菜单\面板\背景

就这样

您可以使用(或自己创建一个9patch背景)擦亮弹出菜单

所以我所做的就是——在生成器中指定适当的颜色,将9patched background(菜单\下拉菜单\面板\背景.9.png)恢复并设置为背景:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="popupMenuStyle">@style/PopupMenu.Example</item>
</style>

<style name="PopupMenu.Example" parent="@style/Widget.AppCompat.Light.PopupMenu">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel_background</item>
</style>

@style/PopupMenu.Example
@可绘图/菜单\下拉菜单\面板\背景

就这样

查看一下提供的生成器的起始页,您会发现它已被弃用。由于这个原因,它被弃用了,因为它可以简单地更改样式的颜色值,而不会因为大量的颜色而使apk大小膨胀png@OlegOsipenko我不想与你的“-1”争论,但我确实认为你必须提供一个更好的答案,而人们会很乐意为你的回答打分。否则,它看起来很愚蠢。请查看提供的生成器的起始页,您将看到它已被弃用。由于这个原因,它被弃用了,因为它可以简单地更改样式的颜色值,而不会因为大量的颜色而使apk大小膨胀png@OlegOsipenko我不想与你的“-1”争论,但我确实认为你必须提供一个更好的答案,而人们会很乐意为你的回答打分。否则,它看起来很愚蠢。