Skip to content

View 绘制

CoordinatorLayout

协调布局的实现

主要思想:

建立起子 View 之间的依赖关系,当一个 View 产生触摸反馈事件时可将其作用于其他同级 View。

实现思路:

  1. 通过 onTouchEvent & onInterceptTouchEvent 实现对触摸事件的监听及即时拦截。
  2. 通过自身实现的接口方法能够捕捉到滑动的相关事件,参考 NestedScrollingParent2,NestedScrollingParent3 各方法。然后遍历调用 Behavior 的对应方法,完成多个 View 之间的同步滑动处理过程。

弊端

如果需要同步处理 View 的触摸事件,父布局必须为 CoordinatorLayout。

解决方案

如需使用 ConstraintLayout 且想实现 View 的动态滑动,可考虑自己实现一个 scrollListener 在其中分发滑动事件。

粒子效果