Android:更改操作栏中溢出菜单的背景

时间:2015-07-01 09:07:54

标签: android android-actionbar

我正在尝试更改操作栏中溢出菜单的白色背景 我尝试分配使用http://jgilfelt.github.io/android-actionbarstylegenerator/

生成的drawable

我已将主题定义如下。但它不起作用,背景仍然是白色的 Android 4.4.2

<style name="BoxTheme" parent="android:Theme.Holo.Light">
        <!-- API 14 theme customizations can go here. -->
        <item name="android:actionBarStyle">@style/BoxActionBar</item>
    </style>
    <style name="BoxActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
            <item name="android:background">@drawable/img_actionbar</item>
             <item name="android:titleTextStyle">@style/colour.Text</item>
              <item name="android:subtitleTextStyle">@style/colour.Text</item>
              <item name="android:popupMenuStyle">@style/PopupMenu</item>
        </style>
    <style name="colour.Text" parent="@android:style/TextAppearance">
            <item name="android:textColor">@color/white</item>
        </style>
        <style name="SpinnerColor" parent="android:style/Widget.Spinner">
            <item name="android:dropDownSelector">@color/white</item>
        </style>
        <style name="PopupMenu" parent="android:style/Widget.Holo.Light.ListPopupWindow">
        <item name="android:popupBackground">@drawable/menu_dropdown_panel</item> 
    </style>

2 个答案:

答案 0 :(得分:1)

你走在正确的轨道上,我会告诉你如何做到这一点。

在样式生成器中,在这种情况下最重要的设置是弹出颜色,它会影响溢出菜单

选择颜色,生成ZIP并仅采用一个文件menu_dropdown_panel.9.png。将不同版本添加到res / drawable,并将它们重命名为<resources> <style name="MyAppActionBarTheme" parent="android:Theme.Holo.Light"> <item name="android:popupMenuStyle">@style/MyApp.PopupMenu</item> <item name="android:actionBarStyle">@style/MyApp.ActionBar</item> </style> <!-- Background color for Action Bar overflow menu --> <style name="MyApp.PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow"> <item name="android:popupBackground">@drawable/menu_dropdown_panel</item> </style> <style name="MyApp.ActionBar" parent="android:Widget.Holo.Light.ActionBar.Solid"> <item name="android:background">@drawable/black_action_bar_bg</item> </style> </resources> (如果您愿意)。

现在在你的主题中,你需要改变一些重要的事情,

<application
    android:theme="@style/MyAppActionBarTheme" 
    ... >

您也必须在清单文件中更改主题,

{{1}}

答案 1 :(得分:0)

试试这个,

 <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
        <item name="android:panelBackground">@android:color/holo_green_light</item>
        <item name="android:actionBarWidgetTheme">@style/AppTheme</item>
    </style>

    <style name ="MyPopupMenu" parent="android:Theme.Holo.Light">

        <item name="android:popupBackground">@android:color/holo_green_light</item>
    </style>

它可能看起来像这样

enter image description here