View的事件体系(三)View的滑动冲突

2017-05-10  本文已影响46人  小柏不是大白

常见的滑动冲突场景:

1、外部滑动方向和内部滑动方向不一致

2、外部滑动方向与内部滑动方向一致

3、上面两种情况嵌套

处理规则:

对于场景1,其处理规则是:当用户左右滑动时,需要让外部的的view拦截点击事件,当用户上下滑动时,需要让内部view拦截点击事件

对于场景2、3,需要从业务上查找突破点

解决方式

1、外部拦截法

所谓外部拦截法就是指点击事件都先经过父容器的拦截处理,如果父容器需要此事件就拦截,不需要此事件就不拦截。这样就可以解决滑动冲突了,需重写父容器的onInterceptTouchEvent方法,在内部做出相应的拦截即可。

内部拦截法:

可看出内部拦截比外部拦截要麻烦,所以最好使用外部拦截法。

上一篇 下一篇

猜你喜欢

热点阅读