android事件分发与滑动冲突

来源:互联网 发布:linux下解压rar文件 编辑:程序博客网 时间:2024/06/09 23:11

起因

今天做一个功能又遇到了滑动冲突,这也就涉及到了事件分发。以前研究过的,也记不太清了,每次都要搜集很多资料,故在此记录一下。

搜集的资料

Android滑动冲突解决方法(一)
http://www.jianshu.com/p/8bc0765dffc9

Android滑动事件冲突
http://www.cnblogs.com/yxx123/p/5250101.html

Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
http://blog.csdn.net/sinyu890807/article/details/9097463

Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
http://blog.csdn.net/sinyu890807/article/details/9153747

视频:Android触摸事件传递机制及viewpager嵌套fragment冲突处理
http://edu.csdn.net/course/detail/3298/55124?auto_start=1

心得

前人栽树后人乘凉,本来我还想写些心得,可是前人写的这么好,我都不忍心总结了。怕误导后人。等我继续修行,日后自己的想法渐渐变成熟了再来写吧,在此记录下。

总结

我还是冒昧的总结下吧,原理的东西上边的文章都已经说的很详细了。
考虑到以后再遇到类似问题可能不一定有时间再去研究原理,只是知道怎么用就行了,那我就总结下怎么用吧,其实关键就两个方法。


  • 是父容器重写
    onInterceptTouchEvent()方法里。
    true就是父容器拦截,
    false就是父容器不拦截


  • 是子view重写
    dispatchTouchEvent()
    方法,并调用getParent().requestDisallowInterceptTouchEvent(true)
    告知父容器,不要拦截。

好吧,我还是总结了。虽然总结的很渣、很草率,但也是总结啊。
对了,这只是大体的两个方向,具体案列还得具体对待呀。也就是到底true还是false根据什么条件来判断的区别。

0 0
原创粉丝点击