NestedScrolling

主要涉及两个接口(child-->NestedScrollingChild // parent-->NestedScrollingParent)

在使用的时候可以将嵌套流程概括如下(以触摸滚动为例,惯性滚动(fling)的流程与此类似)

  1. 调用child的sartNestedScroll()来发起嵌套滚动流程(实质是寻找能够配合child进行嵌套滚动的parent).parent的onStartNestedScroll()会被回调,如果此方法返回true,则onNestedScrollAccepted()也会被回调。
  2. child每次滚动前,可以先询问parent是否要滚动,即调用dispatchNestedPreScroll(),这会回调到parent的onNestedPreScroll(),parent可以在这个回调中先于child滚动。
  3. disdispatchNestedPreScroll()之后,child可以进行自己的滚动操作。
  4. child滚动以后,可以调用dispatchNestedScroll(),会回调到parent的onNestedScroll(),在这里parent可以进行后于child的滚动。
  5. 滚动结束,调用stopNestedScroll()。

猜你喜欢

转载自blog.csdn.net/zengfenliang/article/details/80189540
今日推荐