我在我的应用程序中使用ActionBar sherlock库 如何更改ActionBar SUBMENU列表项背景我应该在样式中使用什么属性?
答案 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>
只是为了让您知道我没有子菜单的正常菜单看起来像这个层次结构视图:
<menu>
<item/>
<item/>
<item/>
</menu>
和带有子菜单的菜单作为层次结构视图的示例:
<menu>
<item/>
<item/>
<group>
<item>
<menu>
item
item
item
</menu>
</item>
</group>
<item/>
<item/>
</menu>