Android开发之CollapsingToolbarLayout的用法

来源:互联网 发布:快走丝编程教学视频 编辑:程序博客网 时间:2024/05/19 01:10

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>

-----------------------分割线-------------------------

想必RecyclerView的用法大家都熟悉了,这里就不再贴RecyclerView的代码了,这里讲解一下布局中几个关键点。

注意: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"
和状态栏的沉浸式效果:指定颜色。

其他的都简单易懂,就不做过多介绍!
-----------------------结束!-------------------------




原创粉丝点击