2015-01-28 8 views
5

Ich habe eine Fotovorschau Aktivität, die eine Overlay-Aktionsleiste hat. Ich möchte nicht, dass diese Ansicht eine vollständig deckende Farbe hat, da sie das Bild beim Zoomen verdecken würde. Ich habe einen Gradienten als Hintergrund einstellen:Hintergrund mit Farbverlauf auf Material-Symbolleiste

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 

<gradient 
    android:type="linear" 
    android:startColor="@color/theme_main_color_40pct" 
    android:endColor="@color/theme_main_color_0pct" 
    android:angle="270"/> 
</shape> 

ich über das folgende Thema diesem Hintergrund meiner Symbolleiste zuweisen:

<style name="my_toolbar" > 
    <item name="android:background">@drawable/ab_gradient_purple</item> 
    <item name="android:minHeight">?attr/actionBarSize</item> 
    <item name="android:textColorPrimary">?attr/colorAccent</item> 
    <item name="android:textColorSecondary">@android:color/white</item> 
</style> 

In meinem Layout:

<android.support.v7.widget.Toolbar 
    android:id="@id/toolbar" 
    app:theme="@style/my_toolbar" 
    android:elevation="5dp" 
    android:layout_gravity="top" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"/> 

Wenn ich öffnen Bei dieser Aktivität scheint die Symbolleiste diesen Hintergrund zu übernehmen und wendet sie auf alle Unteransichten an, so dass das Bild unten angezeigt wird. Wie verhindere ich dieses Overlay?

Overlaid backgrounds

Ich habe zu spielen versucht, mit backgroundTint und backgroundTintMode, aber es scheint, wie sie für die prä-Lutscher nicht verfügbar sind.

Antwort

5

Es scheint, dass die Anwendung des Hintergrunds durch den Stil auch alle verschachtelten Elemente anwendet. Ich habe den Stil Hintergrund @android:color/transparent und in meinem Layout:

<android.support.v7.widget.Toolbar 
    android:id="@id/toolbar" 
    app:theme="@style/my_toolbar" 
    android:background="@drawable/ab_gradient_purple" 
    android:elevation="5dp" 
    android:layout_gravity="top" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"/> 

Das Ergebnis ist genau das, was ich suchte: enter image description here

Verwandte Themen