Цвет фона меню панели инструментов
Я использую панель инструментов для 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" />
Ответы
Ответ 1
Чтобы изменить цвет меню параметров панели инструментов, добавьте это в свой элемент панели инструментов
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
. Последний будет применяться ко всему (самому меню и каждому пункту меню), первое относится только к всплывающему меню.
Ответ 2
Edit:
если вы просто хотите, чтобы всплывающее меню белого переполнения просто выполнялось
<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"
Ответ 3
Простейший способ
Если вы просто хотите, чтобы всплывающее меню белого переполнения просто делало это:
<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
.