我想在我的android应用程序中更改PopupMenu的背景颜色,我正在使用“Theme.MaterialComponents.Light.NoActionBar”

问题描述 投票:0回答:1

我想自定义PopupMenu,背景颜色为浅黑色,文本颜色为白色。我使用“Theme.MaterialComponents.Light.NoActionBar”作为父级。我尝试自定义,但弹出菜单中上下有一些空白。 我想改变整个 PopupMenu 背景。请帮忙

我添加->

 <item name="android:itemBackground">@color/colorLightBlack</item>
 <item name="android:itemTextAppearance">@style/MyActionBar.MenuTextStyle</item>

**这是我的 Themes.xml 文件 -> **

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.KawawaMusic" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/black</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/black</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">@color/transparent</item>
        <!-- Customize your theme here. -->
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:windowContentTransitions">true</item>
        <item name="android:windowAllowEnterTransitionOverlap">true</item>
        <item name="android:windowAllowReturnTransitionOverlap">true</item>
        <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
        <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
        <item name="windowNoTitle">true</item>
        <item name="bottomNavigationStyle">@style/Widget.App.BottomNavigationView</item>

        <item name="android:itemBackground">@color/colorLightBlack</item>
        <item name="android:itemTextAppearance">@style/MyActionBar.MenuTextStyle</item>
    </style>

    <style name="bottom_nav_style">
        <item name="colorPrimary">@color/white</item>
    </style>
    <style name="Widget.App.BottomNavigationView" parent="Widget.MaterialComponents.BottomNavigationView.Colored">
        <item name="materialThemeOverlay">@style/ThemeOverlay.App.BottomNavigationView</item>
    </style>

    <style name="ThemeOverlay.App.BottomNavigationView" parent="">
        <item name="colorPrimary">@color/white</item>
        <item name="colorOnPrimary">@color/white</item>
    </style>

    <style name="MyActionBar.MenuTextStyle"
        parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
<!--        <item name="android:textStyle">bold</item>-->
        <item name="android:textSize">14sp</item>
    </style>

</resources>
android kotlin popupmenu overflow-menu
1个回答
0
投票

将以下行添加到您的基本应用程序主题

<item name="android:popupMenuStyle">@style/PopupMenu</item>

然后创建一个单独的样式,如下所示:

<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
    <item name="android:popupBackground">#202020</item>
</style>
© www.soinside.com 2019 - 2024. All rights reserved.