自定义appcompat上的菜单溢出

时间:2014-10-06 10:10:39

标签: android android-actionbar overflow-menu

我想更改溢出菜单的背景颜色,我正在使用AppCompat作为主题。我尝试了一堆没有任何结果的组合。

我的styles.xml

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
    <item name="android:actionBarStyle">@style/AppBaseTheme.MyActionBar</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarTabs</item>
    <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
    <item name="android:popupMenuStyle">@style/MyPopupMenu</item>
</style>
...
<style name="MyPopupMenu" parent="style/Widget.AppCompat.Light.ActionButton.Overflow">
    <item name="android:popupBackground">#64666666</item>
</style>

对于我尝试使用和不使用android命名空间(android:)的属性 我认为我没有为我的PopupMenu正确的父母而苦恼,但这是我到目前为止所发现的。

2 个答案:

答案 0 :(得分:0)

您可以轻松地执行操作栏样式here

答案 1 :(得分:0)

这是为我工作的styles.xml(动作栏背景和包含的一些文字颜色,但不是必需的):

<resources xmlns:tools="http://schemas.android.com/tools">

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="actionOverflowMenuStyle">@style/AppTheme.OverflowPopupMenu</item>
    <item name="android:actionBarStyle"   tools:ignore="NewApi">@style/AppTheme.ActionBar</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBar</item>
</style>



<style name="AppTheme.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background"  tools:ignore="NewApi">@color/colorPrimary</item>
    <item name="background">@color/colorPrimary</item>
</style>

<style name="AppTheme.OverflowPopupMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
    <!--<item name="android:popupBackground">@color/colorPrimary</item>-->
    <item name="android:popupBackground">@drawable/menu_dropdown_panel</item>
</style>

我不得不使用.9 drawable作为背景,好像我只使用颜色十六进制资源 - 我的溢出菜单周围有一个黑色的边框。它仍然存在,但现在是透明的。