我用ActionBarSherlock创建了一个操作栏。我想设置操作栏的样式,这样当我按下menuitem(从溢出中弹出的下拉项目)时,menuitem背景应该会改变颜色。 (现在它变为默认的全息蓝色,我希望它是另一种颜色)。
经过漫长的googleing和测试后,我想出了这个:
themes.xml
:
<style name="AppTheme" parent="Holo.Theme">
<item name="android:popupMenuStyle">@style/PopupMenuStyle</item>
<item name="popupMenuStyle">@style/PopupMenuStyle</item>
</style>
<style name="PopupMenuStyle" parent="@style/Widget.Sherlock.PopupMenu">
<item name="android:dropDownSelector">@drawable/menu_selector</item>
</style>
menu_selector.xml
:(如abs__list_selector_holo_dark.xml
)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@android:color/transparent" />
<item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/abs__list_selector_disabled_holo_dark" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@color/AppRed" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@color/AppRed" />
<item android:state_focused="true" android:drawable="@drawable/abs__list_focused_holo" />
<item android:drawable="@color/AppRed" />
</selector>
不幸的是,背景仍然变为蓝色而不是红色。 我在这里缺少什么?
答案 0 :(得分:5)
这将为您生成ActionBar样式,您可以选择仅更改强调颜色,这将修改操作栏项目选择器(您仍然必须将它生成的所有文件复制到您的项目中):