android - 溢出菜单行自定义

标签 android android-actionbar overflow-menu

我想自定义操作栏中溢出菜单的行。我发现了一篇很棒的博客文章,解释了如何去做这件事,这看起来很简单。链接如下。 http://scriptedpapers.com/2014/08/12/android-action-bar-overflow-menu-customization/

我特别想更改溢出菜单行的背景颜色,以便我使用的主题如下所示:

<resources>

<!--the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/CustomActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/upcaret</item>
    <item name="android:actionOverflowButtonStyle">@style/CustomOverflowButton</item>
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

<!--ActionBar style -->
<style name="CustomActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/customBlue</item>
</style>
<style name="CustomOverflowButton" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/overflowbutton</item>
</style>
<style name="PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
    <item name="android:popupBackground">@color/customBlue</item>
</style>

将此主题应用于应用程序,尽管设置了自定义 popupMenuStyle,溢出菜单的背景颜色仍与 Holo.Light.DarkActionBar 的默认颜色相同。

对于我的项目,minSdkVersion 是 15,targetSdkVersion 是 19。

有没有人有什么想法?

谢谢。

最佳答案

尝试指定 9 色 block 可绘制对象而不是颜色。

here并通过从“弹出颜色”下拉列表中选择一种颜色来选择您希望行显示的颜色。

您唯一需要的 zip 文件是 menu_dropdown_panel.9.png

确保将此文件放在您的各种 drawable-xxxx 文件夹中。

然后像这样使用它:

<style name="PopupMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
    <item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
</style>

如果还是不行,在上面加上:

将此行添加到您的主主题 (CustomActionBarTheme):

<item name="android:actionBarWidgetTheme">@style/PopupWrapper</item>

然后添加:

<style name="PopupWrapper" parent="@android:style/Theme.Holo">
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

关于android - 溢出菜单行自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27772355/

相关文章:

java - 哪里可以在 Fragment 中创建 Android Spinner?

android - RxAndroid `Observable...subscribe` 在 Android Studio 中突出显示

java - 获取类名Jsoup

android - 操作栏进度指示器和刷新按钮

java - API 15 的 ActionBar 兼容性问题

android - 单击 fragment 上的溢出菜单时打开 Bottom Sheet

android - 在android中为任何 View 使用3个垂直点

android - Android ADT 更新后每个项目都显示错误

android - 如何设置 ActionBar 的样式,选定选项卡上的选项卡背景

android - android中的选项菜单和溢出操作菜单有什么区别?