CollapsingToolbarLayout设置contentScrim,当剩余折叠高度是ToolBar高度的两倍的时候,contentScrim设置的背景就出现了。

思路

既然根据Google的XML代码没办法实现这个功能,那么是不是有这么一个代码可以监听到AppBarLayout的滑动状态?

解决方案

    @BindView(R.id.app_bar_ayout)
    AppBarLayout mAppBarAyout;
    @BindView(R.id.coolapsing_toolbar)
    CollapsingToolbarLayout mCoolapsingToolbar;

       /**
        * 监听滑动状态
        */
    mAppBarAyout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener()
        {
            @Override
            public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset)
            {
                if (verticalOffset == 0)
                {
                    KLog.e("展开状态");
                    mCoolapsingToolbar.setContentScrim(null);
                }
                else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange())
                {
                    KLog.e("折叠状态");
                    mCoolapsingToolbar.setContentScrimResource(R.drawable.shape_main_title);
                }
                else
                {
                    KLog.e("中间状态");
                    mCoolapsingToolbar.setContentScrim(null);
                }
            }
        });
    }

布局

 .support.design.widget.AppBarLayout
        android:id="@+id/app_bar_ayout"
        style="@style/match_wrap">

        .support.design.widget.CollapsingToolbarLayout
            android:id="@+id/coolapsing_toolbar"
            style="@style/match_wrap"
            silas:contentScrim="@drawable/shape_main_title"
            silas:layout_collapseMode="parallax"
            silas:layout_scrollFlags="scroll|exitUntilCollapsed">

            <com.youth.banner.Banner
                android:id="@+id/banner"
                style="@style/match_parent"
                android:layout_height="@dimen/dimen_170"
                android:scaleType="fitXY"
                silas:layout_collapseMode="parallax"
                silas:layout_collapseParallaxMultiplier="0.7"/>

            .support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?android:actionBarSize"
                silas:layout_collapseMode="pin">

                "@+id/ll_navigation_bar"
                    style="@style/match_parent"
                    android:background="@null">

                    "@+id/iv_user_center"
                        android:layout_width="@dimen/dimen_35"
                        android:layout_height="@dimen/dimen_35"
                        android:layout_centerVertical="true"
                        android:src="@mipmap/ic_mine_head_portrait"/>

                    "@+id/tv_search"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/dimen_35"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="@dimen/dimen_20"
                        android:layout_marginRight="@dimen/dimen_20"
                        android:layout_toLeftOf="@+id/iv_download"
                        android:layout_toRightOf="@+id/iv_user_center"
                        android:background="@drawable/shape_rect_big_corners_white"
                        android:drawableLeft="@mipmap/ic_home_search"
                        android:drawablePadding="@dimen/dimen_5"
                        android:gravity="center_vertical"
                        android:paddingLeft="@dimen/dimen_15"
                        android:textColor="@color/color_gray_cccccc"
                        android:textSize="@dimen/font_16"/>

                    "@+id/iv_download"
                        android:layout_width="@dimen/dimen_35"
                        android:layout_height="@dimen/dimen_35"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:layout_marginRight="@dimen/dimen_15"
                        android:src="@mipmap/ic_home_download"/>
                
            .support.v7.widget.Toolbar>

        .support.design.widget.CollapsingToolbarLayout>
    .support.design.widget.AppBarLayout>

你可能感兴趣的:(CollapsingToolbarLayout设置contentScrim,当剩余折叠高度是ToolBar高度的两倍的时候,contentScrim设置的背景就出现了。)