Actionbar子菜单项背景

时间:2013-08-22 18:11:45

标签: android menu actionbarsherlock

我在我的应用程序中使用ActionBar sherlock库 如何更改ActionBar SUBMENU列表项背景我应该在样式中使用什么属性?

2 个答案:

答案 0 :(得分:0)

This post向您展示如何设置ABS下拉项目的样式。您可以从查看res / values / styles.xml并更改下拉项目样式开始。

<style name="Theme.MyApp" parent="Theme.Sherlock.Light">
    <!--  the text when loading -->
    <!--
    <item name="actionBarStyle">@style/Widget.MyApp.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.MyApp.ActionBar</item>
    -->

    <!-- the dropdown items -->
    <item name="android:spinnerDropDownItemStyle">@style/MyApp.Widget.Holo.DropDownItem</item>
    <item name="spinnerDropDownItemStyle">@style/MyApp.Widget.Holo.DropDownItem</item>

    <!--  the action bar dropdown menu item -->
    <!-- 
    <item name="android:spinnerItemStyle">@style/MyApp.Widget.Holo.SpinnerItem</item>
    <item name="spinnerItemStyle">@style/MyApp.Widget.Holo.SpinnerItem</item>
    -->
</style>

答案 1 :(得分:0)

基本上,您需要在MenuItem中使用自定义android:itemBackground覆盖color/drawable selector属性来自定义style.xml的样式。

如果您的菜单还有submenu's,那么您还需要设置子菜单的header标题的样式,该标题通常会通过覆盖属性actionBarPopupTheme自动为白色背景与您的custom style

style.xml

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
        <item name="android:itemBackground">@drawable/menu_popup_selector</item>
        <item name="actionBarPopupTheme">@style/SubmenuHeaderStyle</item>
    </style>

    <style name="SubmenuHeaderStyle" parent="ThemeOverlay.AppCompat.Light">
        <item name="android:colorBackground">@color/colorAccent</item>
    </style>

</resources>

<强> menu_popup_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <color
            android:color="@color/colorPrimary"/>
    </item>
    <item>
        <color
            android:color="#655611"/>
    </item>
</selector>

你会有这样的截图screenshot of a menu with submenu(粉红色标题是我的子菜单标题)。

只是为了让您知道我没有子菜单的正常菜单看起来像这个层次结构视图:

<menu> 
   <item/>
   <item/> 
   <item/> 
</menu> 

和带有子菜单的菜单作为层次结构视图的示例:

<menu> 
   <item/>
   <item/>
   <group> 
     <item> 
       <menu> 
         item 
         item 
         item 
       </menu> 
     </item>
   </group>
   <item/>
   <item/> 
</menu>