2015-01-28 4 views
5

У меня есть операция предварительного просмотра фотографий с надписью наложения. Я не хочу, чтобы этот вид имел полный непрозрачный цвет, потому что это затрудняло бы изображение при увеличении. Я создал градиент, чтобы установить в качестве фона:Градиентный фон на панели инструментов тематической тематики

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

Поручаю этот фон в моей панели инструментов с помощью следующей темы:

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

В моем макете:

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

Когда я открываю это действие похоже на то, что панель инструментов берет этот фон и применяет его ко всем подзонам, что приводит к картине ниже. Как предотвратить это оверлей?

Overlaid backgrounds

Я пытался играть с backgroundTint и backgroundTintMode, но кажется, что они не доступны для предварительного леденец.

ответ

5

Кажется, что применение фона в стиле применяет к нему все вложенные элементы. Я установил стиль фона для @android:color/transparent и в моем макете:

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

Результатом является то, что я искал: enter image description here

Смежные вопросы