如何更改操作栏的溢出菜单(弹出菜单)的背景颜色

时间:2014-05-26 06:38:42

标签: android android-actionbar android-appcompat

我正在使用android紧凑库来为旧版本和新版本的android构建操作栏。所以我的要求包括我需要显示蓝色的动作栏。现在我已将操作栏背景颜色更改为蓝色,现在我想更改弹出菜单的背景颜色,当我们点击溢出图标时。我试过很多方面,但没有什么改变背景颜色。没有人建议我是否可以使用app-compact库更改弹出菜单的背景颜色,如果我们可以请建议我

2 个答案:

答案 0 :(得分:5)

将其添加到工具栏元素

app:popupTheme="@style/ThemeOverlay.YourApp"

然后在styles.xml中定义弹出菜单样式

<style name="ThemeOverlay.YourApp" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:colorBackground">@color/your_background_color</item>
    <item name="android:textColor">@color/your_text_color</item>
</style>

请注意,您需要使用colorBackground而不是background。后者将应用于所有内容(菜单本身和每个菜单项),前者仅适用于弹出菜单。

来源:Style appcompat-v7 Toolbar menu background

答案 1 :(得分:1)

在样式中使用android:popupBackground

<style name ="MyPopupMenu" parent="Theme.AppCompat.Light">
    <item name="popupMenuStyle">@style/MyPopupMenuStyle</item>
</style>

<style name="MyPopupMenuStyle">
    <item name="android:dropDownSelector">@drawable/abc_list_selector_holo_dark</item>
    <item name="android:popupBackground">@drawable/abc_menu_dropdown_panel_holo_dark</item>
    <item name="android:dropDownVerticalOffset">0dip</item>
    <item name="android:dropDownHorizontalOffset">0dip</item>
    <item name="android:dropDownWidth">wrap_content</item>
</style>