工具栏选项菜单背景色
Toolbar options menu background color
我正在使用 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" />
编辑:
如果你只是想要一个白色的溢出弹出菜单就这样做
<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"" />
并删除多余的 popupTheme 你的样式 xml
<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"
要更改工具栏选项菜单颜色,请将其添加到您的工具栏元素
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
而不是 background
。后者适用于所有内容(菜单本身和每个菜单项),前者仅适用于弹出菜单。
最简单的方法
如果您只想要一个白色的溢出弹出菜单,只需这样做:
<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
属性的值。
我正在使用 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" />
编辑:
如果你只是想要一个白色的溢出弹出菜单就这样做
<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"" />
并删除多余的 popupTheme 你的样式 xml
<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"
要更改工具栏选项菜单颜色,请将其添加到您的工具栏元素
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
而不是 background
。后者适用于所有内容(菜单本身和每个菜单项),前者仅适用于弹出菜单。
最简单的方法
如果您只想要一个白色的溢出弹出菜单,只需这样做:
<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
属性的值。