Android NestedScrolling, NestedScrollingParent, NestedScrollingParentHelper解析(Android相关)
发布时间
阅读量:
阅读量
在这之前,我们知道Android对Touch事件的分发是有自己一套机制的。主要是有是三个函数:
dispatchTouchEvent、onInterceptTouchEvent以及onTouchEvent这三个方法。
该事件分发机制存在一个缺陷:
当子视图获得处理触摸事件的权限后,父视图将无法再对该触摸事件进行处理,直至用户再次按下手指。
事件分发是这样的:子View首先得到事件处理权,处理过程中,父View可以对其拦截,但是拦截了以后就无法再还给子View(本次手势内)。
NestedScrolling机制是这样的:内部View在滚动的时候,首先将dx,dy交给NestedScrollingParent,NestedScrollingParent可对其进行部分消耗,剩余的部分还给内部View。
NestedScrolling 机制的核心关联对象为NestedScrollingParent,若需深入了解其原理,可查阅相关源代码:
public class NestedScrollView extends FrameLayout implements NestedScrollingPare
全部评论 (0)
还没有任何评论哟~
