Android嵌套滑动简介——手把手教你打造黏性头部控件
问题的引入
首先让我们看一个效果:
在很早之前, 我们想实现上面这个效果的通常做法是自己写一个ViewGroup, 拦截下触摸事件, 控制里面滑动事件的分发. 如果第一个view已经滑出屏幕,则把剩下的事件交给recyclerview处理.
处理过的同学们都知道, 分发复杂,还要考虑fling这种操作怎么处理,做起来踩坑不断. 好在Android在之后的版本推出了很多替代的方案: 首先看到这个布局, 首选是用CoordinatorLayout来处理, 官方提供的十分好用,不太熟悉的同学可以查一下. 如果说我不想用CoordinatoLayout,想自己来解决嵌套滑动可不可以呢?答案是肯定的, 谷歌为我们提供了下面两个接口:
NestedScrollingParent(这个接口负责处理嵌套滑动)
NestedScrollingChild(这个接口负责将滑动事件分发给实现了NestedScrollingParent接口的类)
接口简介
这里我们先看一下接口中都有哪些方法,首先是NestedScrollingParent:
然后是NestedScrollingChild:
初次看到这么多接口肯定都一脸