【发布时间】:2013-03-03 20:23:55
【问题描述】:
如何更改显示“添加联系人”和“关于”的背景颜色。现在它有点灰,但我希望它是白色的!这是一个带有下拉菜单的 actionBar,而不是一个微调器。而且我没有使用那个 actionbarsherlock 的东西。
【问题讨论】:
-
您的应用程序使用哪个主题?
标签: java android xml android-actionbar
如何更改显示“添加联系人”和“关于”的背景颜色。现在它有点灰,但我希望它是白色的!这是一个带有下拉菜单的 actionBar,而不是一个微调器。而且我没有使用那个 actionbarsherlock 的东西。
【问题讨论】:
标签: java android xml android-actionbar
例如,在您现有的父 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 是这样的:
您可以选择使用与上述类似的图像,也可以使用Color 资源。
这是默认的ActionBar。不是ActionBarSherlock。 ;-)
ActionBar 可以使用这个很酷的网站轻松创建样式:http://jgilfelt.github.com/android-actionbarstylegenerator/。在决定风格之前,我通常会在这里做一些实验。此外,它还可以让您下载样式和所有必要的资源。只需将它们插入您的应用程序,您就可以开始使用了。 :-)
更新:我认为我造成了一些混乱,导致您的应用下拉菜单中的阴影丢失。您可能已经替换了我在原始建议中列出的Style 中的所有<items>。编辑应该可以解决这个问题。
更新 2:
使用这些图像资源而不是您当前使用的 @android:color/white 值。它们的顺序是 XHDPI、HDPI 和 MDPI。保存它们并在样式定义中使用它们。
【讨论】:
@android:color/white 没有阴影。如果您注意到附加的图像,它有自己的影子。让我创建一组您可以使用的快速图像,而不是 @android:color/white 属性。那会让你的影子回来。 ;-)
尝试从ActionBarStyleGenerator 服务获取样式。它具有预览功能,并使所有必要的可绘制、xml 和样式。 在那里您可以轻松找到并更改所需的颜色,然后在源中找到它(在您的情况下是 android:popupBackground)。
【讨论】:
您可以简单地覆盖主题中的 itemBackground 项目:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:itemBackground">@color/skyBlue</item>
</style>
【讨论】: