CoordinatorLayout实现覆盖滑动效果
2023-02-19 本文已影响0人
爱你为你做饭
参考文章:
coordinatorlayout实现滑动覆盖效果
郭霖:CoordinatorLayout从源码到实战,一文搞懂
全面的CoordinateLayout和Behavior源码分析
AppBarLayout的七种scrollFlags
Android CollapsingToolbarLayout使用介绍
安卓CollapsingToolbarLayout折叠监听器
ToolBar的简单使用
Android开发:最详细的 Toolbar 开发实践总结
- CoordinatorLayout(协调者布局),顾名思义此布局可以协调其子view的联动,单个没有意义,需要借助于behavior配合使用,behavior系统提供了对应的工具类也可以继承其自定义实现联动的方案。具体的联动效果可以参考参考文章,此处不再一一列举,此处主要是备注一下效果中常用的几个类,方便后续的查询和使用。
- CoordinatorLayout和behavior:通常成对出现,CoordinatorLayout协助子view的联动,通常通过behavior识别那些view需要联动,且子view通过behavior指明当前view的动作依赖于behavior指定的view,依赖view和被依赖view都是CoordinatorLayout的同一级view。
- CoordinatorLayout和behavior的一个误区:此二种并不是仅仅使用在AppBarLayout等布局中,此二种可以针对多布局(状态变换即一个view的状态变换依赖于另外一个view),也不仅仅处理双滑动状态,但凡状态变换依赖都可以使用。
- AppBarLayout:针对自己需要解除一个误区,此布局并不是仅仅针对与标题栏,其就是一个linearlayout,其强大的地方在与其提供了属性layout_scrollFlags用来子view的滑动状态共有七种状态,需要注意的通常用于其第一子view,还有就是其子view前面的view没有设置此状态,对其设置是不起作用的。常见的滑动距顶显示,折叠布局等都可以依赖于此实现。其七种状态变化参考对应的文章。
- CollapsingToolbarLayout:AppbarLayout可以实现子view的滑动,借助于场景加上其他的逻辑可以实现更为复杂的滑动,比如距顶显示,滑动过程中状态栏发生变化等,而CollapsingToolbarLayout 布局则是系统针对前面提到的场景进行的封装处理,通过CollapsingToolbarLayout使用可以简单的实现上面场景,不需要用户再去处理额外的逻辑。注意其是一个framelayout。
-
ToolBar:符合Material Design效果的一个5.0后出现的标题栏封装类,如图所示:
image.png
注意:最右边的点点击可以弹出menu且toolbar并不是固定在顶部,用户可以控制其位置。
- 上面介绍的几种比较常用且相近,具体的使用需要参考使用场景而不需要所有一块使用,毕竟使用过程中参考其view层级。