更改actionBar下拉背景颜色

时间:2013-03-15 07:36:36

标签: java android xml android-actionbar

enter image description here

如何更改背景颜色"添加联系人"和"关于"。现在它有点灰色,但我希望它是白色的!这是一个带有下拉列表的actionBar,而不是一个微调器。而且我没有使用那个actionbarsherlock的东西。

3 个答案:

答案 0 :(得分:7)

例如,在您现有的父Style定义中,只需添加android:popupMenuStyle属性,如下所示:

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

通过定义样式覆盖android:popupMenuStyle属性:

<style name="PopupMenu.Example" parent="@android:style/Widget.Holo.Light.ListPopupWindow">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel_example</item>
</style>

@drawable/menu_dropdown_panel_example就是这样:

enter image description here

您可以选择使用与上述图片类似的图片,也可以使用Color资源。

这是默认的 ActionBar 。不是ActionBarSherlock。 ; - )

使用这个很酷的网站可以轻松创建

ActionBar个样式:http://jgilfelt.github.com/android-actionbarstylegenerator/。在决定风格之前,我通常会在这里做一些实验。此外,它还允许您下载样式和所有必要的资源。只需将它们插入您的应用程序就可以了。 : - )

更新:我认为我造成了一些混乱,导致应用程序下拉列表中的阴影丢失。您可能已替换了我在原始建议中列出的<items>中的所有Style。编辑应该解决这个问题。

更新2:

使用这些图片资源而不是您当前使用的@android:color/white值。这些是XHDPI,HDPI和MDPI的顺序。保存它们并在样式定义中使用它们。

enter image description here enter image description here enter image description here

答案 1 :(得分:0)

尝试从ActionBarStyleGenerator服务获取样式。它有预览,并制作所有必要的drawable,xml和样式。 在那里,您可以轻松找到并更改所需的颜色,然后在源代码中找到它(在您的情况下,它是android:popupBackground)。

答案 2 :(得分:0)

您可以简单地覆盖主题中的itemBackground项目:

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:itemBackground">@color/skyBlue</item>
</style>