androidmenupopuptoolbarandroid-optionsmenu

Toolbar options menu background color


I am using the toolbar for android. I just want to change the background color of the overflow menu. But it is not changing.

Style xml

<style name="MyDarkToolbarStyle" parent="Widget.AppCompat.Toolbar">
    <item name="popupTheme">@style/PopupMenuStyle</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>

<style name="PopupMenuStyle" parent="android:Widget.Holo.Light.PopupMenu">
    <item name="android:popupBackground">@android:color/white</item>
</style>

Toolbar XML

    <android.support.v7.widget.Toolbar
    android:id="@+id/tool_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/ColorPrimary"
    android:elevation="2dp"
    android:theme="@style/MyDarkToolbarStyle" />

Solution

  • To change the toolbar options menu color, add this to your toolbar element

    app:popupTheme="@style/MyDarkToolbarStyle"
    

    Then in your styles.xml define the popup menu style

    <style name="MyDarkToolbarStyle" parent="ThemeOverlay.AppCompat.Light">
        <item name="android:colorBackground">@color/mtrl_white_100</item>
        <item name="android:textColor">@color/mtrl_light_blue_900</item>
    </style>
    

    Note that you need to use colorBackground not background. The latter would be applied to everything (the menu itself and each menu item), the former applies only to the popup menu.