更改操作栏溢出菜单背景颜色

时间:2014-02-19 08:01:11

标签: android xml android-actionbar

我添加了很多属性来更改溢出菜单的背景颜色,似乎没有工作。

以下是我提到的一些链接(除了SO问题):

http://blog.stylingandroid.com/archives/1267 http://android-developers.blogspot.in/2011/04/customizing-action-bar.html

RES>值> 的 style.xml

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

    <style name="AppBaseTheme" parent="android:Theme.Light"></style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
        <item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
        <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
    </style>

    <style name="MyPopupMenu" parent="@android:style/Widget.Holo.ListPopupWindow">
        <item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">#28bda9</item>
        <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
    </style>

    <style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">#28bda9</item>
    </style>

    <!-- style the items within the overflow menu -->
    <style name="MyDropDownListView" parent="android:style/Widget.Holo.ListView.DropDown">
        <item name="android:listSelector">#28bda9</item>
    </style>

    <!-- style the list navigation -->
    <style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner">
        <item name="android:background">#28bda9</item>
        <item name="android:popupBackground">#28bda9</item>
        <item name="android:dropDownSelector">#28bda9</item>
    </style>

</resources>

编辑:我更改了代码以匹配解决方案。这是错误:

<style name="MyPopupMenu" parent="@android:style/Widget.Holo.ListPopupWindow">
        <item name="android:popupBackground">**#28bda9**</item>
    </style>

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上,但popupBackground不仅仅是一种颜色。

您必须更改drawable。

以下是Holo Light的默认drawable(通常称为menu_dropdown_panel)。

enter image description here

使用您喜欢的图像编辑器更改颜色,并将其放在drawable-x文件夹中。

所需的风格如下:

<style name="AppTheme" parent="AppBaseTheme">
    ...
    <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
</style>

<style name="MyPopupMenu" parent="@android:style/Widget.Holo.ListPopupWindow">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
</style>