android 嵌套滚动机制,NestedScrollingParent, NestedScrollingChild 详解 Android -- NestedScrolling滑动机制...

之前听同事提起过 NestedScrollingView,但是一直没有时间去了解,最近一段时间比较空,才开始去了解。先点开,看 NestedScrollingView 源码:

public class NestedScrollView extends FrameLayout implementsNestedScrollingParent,NestedScrollingChild,ScrollingView

可以发现实现了两个没有见过的接口:NestedScrollingParent,NestedScrollingChild,也是这篇文章的主角。 Android 就是通过这两个接口,来实现 子 View 与父View 之间的嵌套滑动。这样的嵌套滑动机制是在 Android 发布 Lollipop 之后提供的。不过同样在Support v7 中同样支持了。同时 RecycleView  以及 Android 5.0 以上的系统原声 View 大部分都已经支持嵌套滑动了 。

NestedScrolling 机制能够让父 View 和子 View 在滚动式进行配合,而要实现这样的交互机制,首先父 view 要实现 NestedScrollingParent 接口,而子 View 需要实现 NestedScrollingChild 接口,在这套机制中子 View是发起者,父 view 是接受回调并做出响应的。

四个主要接口

当我们自己再去写的时候,会碰到以下这四个类(接口):

//主要接口

NestedScrollingChild

NestedScrollingParent帮助类

NestedScrollingChildHelper

NestedScrollingParentHelper

正如前面所说的,很

你可能感兴趣的:(android,嵌套滚动机制)