【问题标题】:Android: AppBarLayout gradient backgroundAndroid:AppBarLayout渐变背景
【发布时间】:2015-06-23 15:09:43
【问题描述】:

我尝试实现一个带有渐变背景的工具栏(从黑色到透明)。工具栏位于 AppBarLayout 内部,该 AppBarLayout 位于 CoordinatorLayour 内部,因为我希望工具栏在滚动屏幕时滑出屏幕(提高 scroll|enterAlways 滚动标志)。这对于棒棒糖之前的版本非常有效,看起来像这样:

但在棒棒糖上显示的是:

我尝试了工具栏和 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>

【问题讨论】:

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


【解决方案1】:

AppBarLayout 强制提升。由于工具栏在 AppBarLayout 内部,并且工具栏是透明的,所以 AppBarLayout 的侧边和底部阴影变得明显。

在您的 AppBarLayout 中包含 app:elevation="0dp"。希望对您有所帮助。

【讨论】:

  • 确保你使用schemas.android.com/apk/res-auto作为“xmlns:app”的url
  • 谢谢。我只想补充一点,这也适用于使用 alpha 设置背景颜色值的情况。无需在设置带有 alpha 值的背景颜色时设置 app:elevation="0dp",边框每一侧周围的颜色都比 appbarlayout 区域的其余部分更暗。谢谢!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 2011-03-15
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多