【问题标题】:Customize menu overflow on appcompat自定义 appcompat 上的菜单溢出
【发布时间】:2014-10-06 10:10:38
【问题描述】:

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

我的样式.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 引用正确的父级,但这就是我目前发现的。

【问题讨论】:

    标签: android android-actionbar overflow-menu


    【解决方案1】:

    你可以轻松地做动作栏样式here

    【讨论】:

    • 我想改变背景的颜色。你说的是哪个图标?
    • 查看我编辑的答案,希望这能帮助您更改操作栏样式
    • 我的问题是改变溢出的背景颜色,而不是图标
    • 您可以使用操作栏样式生成器,这将帮助您更改背景
    【解决方案2】:

    这是对我有用的 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 的可绘制对象作为背景,就好像我只使用了颜色十六进制资源一样 - 我的溢出菜单周围出现了一个粗黑边框。它仍然存在,但现在是透明的。

    【讨论】:

    • 如何更改操作菜单的图标?我试过这个solution 但它不起作用
    • 如何更改菜单项的文本颜色?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2014-12-08
    • 2015-12-03
    • 1970-01-01
    • 2018-05-28
    相关资源
    最近更新 更多