2013-03-15 28 views
4

enter image description here改变动作条下拉背景颜色

我如何改变它说:“添加联系人”和“约”的背景颜色。现在它是一种灰色,但我希望它是白色的!这是一个带下拉的actionBar,不是微调。即时消息不使用该actionbarsherlock的事情。

+0

您使用您的应用程序,它的主题? – 2013-03-15 07:41:51

回答

7

例如,在你exisiting父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/。在决定风格之前,我通常在这里尝试一下。另外,它可以让你下载样式和所有必要的资源。只需将它们插入你的应用程序,你就可以走了。 :-)

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

更新2:

使用的,而不是你目前正在使用的@android:color/white值这些图像资源。这些按照XHDPI,HDPI和MDPI的顺序排列。保存它们并在样式定义中使用它们。

enter image description hereenter image description hereenter image description here

+0

popupBackground工作,但现在我想念盒子上的阴影。有没有办法让代码更容易,而不是添加所有其他行 – Codebox 2013-03-15 08:21:34

+0

@Codebox:对延迟抱歉。我认为这是我的错。您不需要添加其余的行。只需几分钟即可完成编辑。抱歉。 :-( – 2013-03-15 09:14:00

+0

我只是添加了你现在有的那些行,但是阴影仍然被删除了。而且我正在使用@android:color/white for android:popupBackground – Codebox 2013-03-15 10:01:54

0

尝试从ActionBarStyleGenerator服务中获得的风格。它有预览,并使所有必要的drawable,xml和样式。 在那里你可以很容易地找到并更改所需的颜色,然后在源代码中找到它(在你的情况下它是android:popupBackground)。

0

你可以简单的覆盖itemBackground项目在你的主题:

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