android Touch事件流程,2021Android通用流行框架大全

这就需要onTouchEvent():

1 public boolean onTouchEvent(MotionEvent ev)

具体怎么实现就根据实际的需要来了。我们发现他的返回值也是boolean,那返回true或者false的时候会有什么影响呢?用一张图来说明:

android Touch事件流程,2021Android通用流行框架大全

这个一个典型的流程,也就是所有的相关方法都返回false的时候,一个事件先到了LinearLayout,它不拦截,然后就往下面跑,到了FrameLayout上,他又不处理,又传到了Button上,这个时候Button返回了false,然后这个事件往上传,最后没有人处理。当FrameLayout的两个方法返回true的时候会怎样呢?

android Touch事件流程,2021Android通用流行框架大全
FrameLayout的onInterceptTouchEvent返回true后,就拦截触摸消息了,然后交给自己的onTouchEvent处理。这里面的逻辑自己定义就好了,如果这个事件被消费掉了,返回true就可以了,这样系统就不会接着传了,事件处理到此为止。
是不是按下,移动,松开的流程都是按照这样处理的呢?答案是否定的。ACTION_DOWN事件的判断和处理,直接影响到了后续的ACTION_MOVE和ACTION_UP,在上面的图中,FrameLayout的onTouchEvent返回了true,那么当ACTION_MOVE来到FrameLayout这一层的时候,就不再需要通过onInterceptTouchEvent拦截了,直接用onTouchEvent处理。如果说一个ACTION_DOWN从头到尾都是返回false,那么后续的ACTION_MOVE和ACTION_UP就没法被感知到了。

文末

当你打算跳槽的时候,应该把“跳槽成功后,我能学到什么东西?对我的未来发展有什么好处”放在第一位。这些东西才是真正引导你的关键。在跳槽之前尽量“物尽其用”,把手头上的工作做好,最好是完成了某个项目或是得到提升之后再走。跳槽不是目的,而是为了达到最终职业目标的手段

最后祝大家工作升职加薪,面试拿到心仪Offer

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享

android Touch事件流程,2021Android通用流行框架大全
android Touch事件流程,2021Android通用流行框架大全

片转存中…(img-oFpTjVJv-1640665444560)]

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

上一篇:Oracle备份恢复四(RMAN备份)


下一篇:Android-事件体系全面总结+实践分析,kotlin线程异步