CoordinatorLayout|CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout使用详解

前言
在Android开发过程中,我们经常会遇到一些标题栏显示/隐藏 十分炫酷的效果,在Android设计库中,有那么几个控件CoordinatorLayout,AppBarLayoutCollapsingToolbarLayout,也能迅速实现标题栏的一些特效,那么今天就来做个简单的介绍吧。
今天涉及知识点:

  1. 依赖库
  2. CoordinatorLayout,AppBarLayoutCollapsingToolbarLayout简单介绍
    2.1 CoordinatorLayout
    2.2 AppBarLayout
    2.3 CollapsingToolbarLayout
    2.4 滚动控件
    2.5 各控件之间的关系
  3. 标题栏使用前环境搭建
    3.1 外部环境
    3.2 实现标题栏重心
  4. AppBarLayout使用详解
    4.1 AppBarLayout直接子view显隐
    4.2 AppBarLayout直接子view动效种类
    4.3 AppBarLayout事件处理
  5. CollapsingToolbarLayout使用详解
    5.1 折叠标题
    5.2 内容纱布
    5.3 状态栏纱布
    5.4 视差滚动
    5.5 将子View位置固定
先来波效果图:

1.gif 2.gif 3.gif 4.gif 5.gif 6.gif 7.gif CoordinatorLayout|CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout使用详解
文章图片
8.gif 9.gif 更多精彩内容,请关注微信公众号 "Android进击",大家一起来学习进步吧
一. 依赖库 CoordinatorLayout,AppBarLayoutCollapsingToolbarLayout的使用需要在项目中添加如下依赖:
implementation 'com.google.android.material:material:1.2.0'

二. CoordinatorLayout,AppBarLayout与CollapsingToolbarLayout简单介绍 我们经常提到的应该是AppBarLayout了,但是凡是介绍到AppBarLayout使用的时候,又会顺便讲讲CoordinatorLayoutCollapsingToolbarLayout,所以很多同学都疑惑,我是看AppBarLayout使用啊,你老是讲CoordinatorLayoutCollapsingToolbarLayout干啥,真让人懵逼。那么下面就来简单讲讲它们之间的关系。
2.1 CoordinatorLayout CoordinatorLayout本质上是一个ViewGroup,其具备通过Behavior 协调子View的功能。
2.2 AppBarLayout AppBarLayout是一个垂直分布的LinearLayout,其可以定制当某个滚动View的滚动手势发生变化时,AppBarLayout内部的子view发生连带动作。即根据某个滚动view的变化来使AppBarLayout内部的子view发生变化。
2.3 CollapsingToolbarLayout CollapsingToolbarLayout实质是一个FrameLayout,其是作为标题栏外部布局用于控制标题栏效果的。实质是对标题栏效果的进一步增强,若你标题栏需要实现更加炫酷的效果,你可以用此布局来包装你的标题栏控件,但需要注意的是它是作为AppBarLayout的直接子view使用。
2.4 滚动控件 【CoordinatorLayout|CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout使用详解】一般指NestedScrollViewRecyclerView等可滑动控件。
2.5 各控件之间的关系

    推荐阅读