Android用のツールバーを使用しています。オーバーフローメニューの背景色を変更したいだけです。しかし、それは変わりません。
スタイル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>
ツールバー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" />
ツールバーオプションメニューの色を変更するには、これをツールバー要素に追加します
app:popupTheme="@style/MyDarkToolbarStyle"
次に、styles.xml
ポップアップメニュースタイルを定義する
<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>
colorBackground
notbackground
を使用する必要があることに注意してください。後者はすべて(メニュー自体と各メニュー項目)に適用され、前者はポップアップメニューにのみ適用されます。
編集:
白いオーバーフローポップアップメニューが必要な場合は、これを実行してください
<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"
app:theme="@style/MyDarkToolbarStyle"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"" />
style xmlの冗長なpopupThemeを削除します
<style name="MyDarkToolbarStyle" parent="Widget.AppCompat.Toolbar">
<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
また、これをトップ(親)レイアウトに含める必要があります
xmlns:app="http://schemas.Android.com/apk/res-auto"
最も簡単な方法
白いオーバーフローポップアップメニューが必要な場合は、次のようにします。
<Android.support.v7.widget.Toolbar
Android:id="@+id/tool_bar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@color/ColorPrimary"
Android:elevation="2dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
また、Android:layout_height
属性の値を見てください。