CoordinatorLayout搭配CollapsingToolbarLayout和ToolBar,可以实现Toolbar的折叠效果,今天我们就来实现这一折叠效果!
-----------------------分割线-------------------------
效果图展示:
-----------------------分割线-------------------------
添加依赖包:
compile 'com.android.support:design:26.0.0-alpha1'
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
注意:里面内容部分也可以不用RecyclerView,可以用NestedScrollView,此控件是ScrollView的升级版本,其主要功能就是搭配MD风格的控件进行使用。
布局完完整代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.fly.collapsingtoolbarlayout.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="260dp">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="200dp"
app:collapsedTitleGravity="center_horizontal"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleGravity="center"
app:expandedTitleMargin="5dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="?attr/colorPrimary"
app:title="fly学院">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/img"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="1" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:logo="@mipmap/ic_launcher" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
-----------------------分割线-------------------------
注意:1.AppBarLayout设置固定高度,并且要实现折叠效果必须比toolbar的高度要高。
2.CollapsingToolbarLayout最好设置成match_parent。
app:layout_collapseMode="parallax"
parallax:视差模式,在折叠的时候会有折叠视差效果。一般搭配layout_collapseParallaxMultiplier=“0.5”视差的明显程度be between 0.0 and 1.0.none:没有任何效果,往上滑动的时候toolbar会首先被固定并推出去。
pin:固定模式,在折叠的时候最后固定在顶端。
app:contentScrim="?attr/colorPrimary"
内容部分的沉浸式效果:toolbar和imageview有一个渐变过渡的效果
app:statusBarScrim="?attr/colorPrimary"
和状态栏的沉浸式效果:指定颜色。
其他的都简单易懂,就不做过多介绍!
-----------------------结束!-------------------------