2015-03-17 27 views
13

Używam paska narzędzi dla Androida. Chcę tylko zmienić kolor tła menu przepełnienia. Ale to się nie zmienia.Kolory tła menu paska narzędzi

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> 

XML Toolbar

<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" /> 

Odpowiedz

64

Aby zmienić kolor menu Opcje paska narzędzi, dodać to do elementu paska narzędzi

app:popupTheme="@style/MyDarkToolbarStyle" 

Następnie w swoim styles.xml zdefiniuj styl menu podręcznego

<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> 

Należy pamiętać, że należy użyć colorBackgroundniebackground. Ta ostatnia byłaby zastosowana do wszystkiego (samo menu i każdy element menu), pierwszy odnosi się tylko do menu podręcznego.

+4

To jest źle zaprojektowane. Dzięki .. – milosmns

+0

Myślę, że właściwość popupTheme działa tylko na API 21 i w górę – CapitanNerd

+0

To nie działa dla mnie, ale [to] (https://stackoverflow.com/questions/26554996/change-toolbar-color-in- appcompat-21). – Android

10

Edit:

jeśli chcesz po prostu białe menu przepełnienia popup po prostu zrób to

<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"" /> 

i usunąć zbędny popupTheme Twój Styl xml

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

Należy również uwzględnienie tego w swojej górnej (rodzic) Układ

xmlns:app="http://schemas.android.com/apk/res-auto" 
+2

Nie, pasek narzędzi pochodzi z biblioteki pomocy technicznej i jest kompatybilny wstecz. – Kuffs

2

Najprostszy sposób

Jeśli chcesz tylko białą menu podręczne przelewowy prostu to zrobić:

<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" /> 

Również spojrzeć na wartość atrybutu android:layout_height.

+1

działa jak urok. Dziękuję! –

Powiązane problemy