如何更改操作栏sherlock中子菜单项的背景

时间:2013-01-09 05:45:57

标签: android actionbarsherlock submenu

我添加了以下代码

的子菜单
 public boolean onCreateOptionsMenu(Menu menu) {


                SubMenu subMenu1 = menu.addSubMenu("user");

                subMenu1.add(0, 3 , 0, "Log out");

                MenuItem subMenu1Item = subMenu1.getItem();

                subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);



        return true;
    }

我一直试图改变子菜单的背景而没有运气,我几乎覆盖了每个帖子,但没有用。问题是,当用户点击usermenu时,他会获得注销选项,这是上面代码中的子菜单。当屏幕上显示子菜单下拉时,它看起来类似于我的活动的背景颜色,几乎看不到。我无法改变活动的背景颜色。它应该是雪白色,甚至子菜单下拉的背景颜色默认为雪白色。那么有人可以帮我实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试编辑和更改ActionBarSherlock库项目中下拉菜单的样式(abs_style.xml)?

主题Theme.Sherlock使用abs_style.xml中的所有样式。

答案 1 :(得分:0)

 <style name="Theme.Sherlock.lionbench" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/Widget.Sherlock.lionbench.actionbar</item>
    <item name="popupMenuStyle">@style/Widget.Sherlock.PopupMenu.lionbench</item>
    <!-- Internal -->
    <item name="listPopupWindowStyle">@style/Widget.Sherlock.PopupMenu.lionbench</item>
</style>

<style name="Widget.Sherlock.listPopupMenu.lionbench" parent="Widget.Sherlock.ListPopupWindow">
    <item name="android:dropDownSelector">@drawable/selector_actionbar_background</item>
    <item name="android:popupBackground">@drawable/selector_actionbar_background</item>
    <item name="android:dropDownVerticalOffset">0dip</item>
    <item name="android:dropDownHorizontalOffset">0dip</item>
    <item name="android:dropDownWidth">wrap_content</item>
</style>

<style name="Widget.Sherlock.PopupMenu.lionbench" parent="Widget.Sherlock.ListPopupWindow">
    <item name="android:dropDownSelector">@drawable/selector_actionbar_background</item>
    <item name="android:popupBackground">@drawable/shape_actionbar_popupmenu_bacground_darker_light</item>
    <item name="android:dropDownVerticalOffset">0dip</item>
    <item name="android:dropDownHorizontalOffset">0dip</item>
    <item name="android:dropDownWidth">wrap_content</item>
</style>