Android:AppBarLayout渐变背景

时间:2015-06-23 15:09:43

标签: android background android-5.0-lollipop gradient transparent

我尝试使用渐变背景(从黑色到透明)实现工具栏。工具栏位于一个AppBarLayout内,它位于CoordinatorLayour内部,因为我希望工具栏在滚动屏幕时滑出屏幕(滚动| enterAlways滚动标记)。这适用于棒棒糖前版本,看起来像这样:

enter image description here

但是在棒棒糖上,这就是显示的内容:

weird upside down trapezoid in the background

我在工具栏和appbarlayout上尝试了其他背景组合,以使工具栏具有渐变背景,但所有内容都会产生相同的结果。我试图寻找类似的问题而没有找到。

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/gradient">

        <android.support.v7.widget.Toolbar
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:background="@android:color/transparent"
            app:layout_scrollFlags="scroll|enterAlways">

            ...

        </android.support.v7.widget.Toolbar>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

2 个答案:

答案 0 :(得分:3)

AppBarLayout强制提升。由于工具栏位于AppBarLayout内部且工具栏是透明的,因此AppBarLayout的侧面和底部阴影变得明显。

在AppBarLayout中加入app:elevation="0dp"。希望它有所帮助。

答案 1 :(得分:0)

将Toolbar和TabLayout放在LinearLayout中,并为LinearLayout设置背景属性,如下面的代码所示。它工作正常,我将此代码用于我的应用程序。

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="72dp"
    android:theme="@style/AppTheme.AppBarOverlay">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/appbar_bg">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="36dp"
            android:background="@android:color/transparent"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/AppTheme.PopupOverlay">

        </android.support.v7.widget.Toolbar>

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>

</android.support.design.widget.AppBarLayout>