首页 > 解决方案 > 如何更改 Android 弹出菜单的背景颜色?

问题描述

我正在尝试更改已附加到选项菜单的弹出菜单的背景颜色。到目前为止我已经尝试过(并且有一个好的?结果)是将“android:itemBackground”设置为首选颜色。这几乎给了我想要的东西,但菜单的顶部和底部仍然有一个白色边框,我不知道如何摆脱它。

我正在寻找一种方法来改变菜单的整个背景颜色而不仅仅是项目,或者寻找一种方法来摆脱菜单顶部和底部保持白色的栏。

这是我的 menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/filter_btn"
        android:title="filter"
        android:icon="@drawable/ic_filter"
        app:showAsAction="ifRoom">

        <menu>

            <item
                android:id="@+id/home_btn"
                android:title="Home"
                app:showAsAction="never" />

            <item
                android:id="@+id/lifestyle_btn"
                android:title="Lifestyle"
                app:showAsAction="never" />

            <item android:id="@+id/relationships_btn"
                android:title="Relationships"
                app:showAsAction="never"/>

            <item android:id="@+id/primp_btn"
                android:title="Primp"
                app:showAsAction="never"/>

            <item
                android:id="@+id/news_btn"
                android:title="News"
                app:showAsAction="never" />

            <item android:id="@+id/bonappetit_btn"
                android:title="Bon Appetit"
                app:showAsAction="never"/>

            <item android:id="@+id/goodies_btn"
                android:title="Goodies"
                app:showAsAction="never"/>

            <item android:id="@+id/videos_btn"
                android:title="Videos"
                app:showAsAction="never"/>

            <item android:id="@+id/dudes_btn"
                android:title="Dudes"
                app:showAsAction="never"/>

            <item
                android:id="@+id/liketoknowit_btn"
                android:title="LIKEtoKNOW.it"
                app:showAsAction="never"/>

        </menu>

    </item>

</menu>

这是我的主题.xml

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.ChitChat" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/brunch</item>
        <item name="colorPrimaryVariant">@color/dark_brunch</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <item name="android:itemBackground">@color/brunch</item>
    </style>

    <style name="ToolbarTitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textSize">34sp</item>
        <item name="fontFamily">@font/billy_ohio</item>
    </style>

    <style name="ToolbarSubtitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
        <item name="fontFamily">@font/montserrat</item>
        <item name="android:textSize">14sp</item>
    </style>
    
</resources>

这是菜单当前的样子。很难看到我所说的白条,但如果你仔细观察,你会在菜单的顶部和底部看到它们:菜单 图片

标签: androidandroid-layout

解决方案


推荐阅读