2015-03-17 73 views
13

Tôi đang sử dụng thanh công cụ cho android. Tôi chỉ muốn thay đổi màu nền của menu mục bổ sung. Nhưng nó không thay đổi.Màu nền menu tùy chọn Thanh công cụ

Phong cách 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" /> 

Trả lời

64

Để thay đổi màu menu tùy chọn thanh công cụ, thêm video này vào yếu tố thanh công cụ của bạn

app:popupTheme="@style/MyDarkToolbarStyle" 

Sau đó, trong styles.xml xác định kiểu menu bật lên

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

Lưu ý rằng bạn cần sử dụng colorBackgroundkhôngbackground. Cái sau sẽ được áp dụng cho mọi thứ (chính trình đơn và từng mục menu), cái trước chỉ áp dụng cho menu bật lên.

+4

Thiết kế này được thiết kế kém. Cảm ơn .. – milosmns

+0

Tôi nghĩ rằng thuộc tính popupTheme chỉ hoạt động trên API 21 và lên – CapitanNerd

+0

Điều này không hiệu quả đối với tôi, nhưng [this] (https://stackoverflow.com/questions/26554996/change-toolbar-color-in- appcompat-21) đã làm. – Android

10

Edit:

nếu bạn chỉ muốn một menu tràn cửa sổ bật lên trắng chỉ làm điều này

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

và loại bỏ các dư thừa popupTheme Phong cách xml của bạn

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

Bạn cũng nên bao gồm này trong đầu của bạn (mẹ) Layout

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

Không, thanh công cụ từ Thư viện hỗ trợ và tương thích ngược – Kuffs

2

đơn giản nhất cách

Nếu bạn chỉ muốn một menu tràn cửa sổ bật lên trắng chỉ làm điều này:

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

Ngoài ra, hãy nhìn vào giá trị của android:layout_height thuộc tính.

+1

hoạt động như nét duyên dáng. Cảm ơn bạn !!! –

Các vấn đề liên quan