ActionBar menuitem按下了背景颜色

时间:2013-07-22 22:18:44

标签: android android-actionbar android-menu android-styles

我用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>

不幸的是,背景仍然变为蓝色而不是红色。 我在这里缺少什么?

1 个答案:

答案 0 :(得分:5)

这将为您生成ActionBar样式,您可以选择仅更改强调颜色,这将修改操作栏项目选择器(您仍然必须将它生成的所有文件复制到您的项目中):

http://jgilfelt.github.io/android-actionbarstylegenerator/