结合源码,重温 Android View 的事件处理知多少 ? (3)

接着,我们发现 OnLongClick 是有返回值的,如果返回值是 false 还会接着去触发 onClick 事件,如果返回 true 的话,那么这个长按事件就直接被消费掉了( 也就是这个点击事件就不会完后传递到 OnClickListener 中去了 )。

2.4 总结

100mm 时为点击,500mm 时为长按,接着触发长按事件。

再看长按事件的返回值,如果时 true 就结束。

如果时 false 那么 OnClickListener 就同样也被执行。

这就是由 obTouchEvent 产生出来的 onClick/onLongClick 的来龙去脉。

总结

我们 View 的事件方法,基本上就是这么一个思路,从 dispatchTouchEvent 到 OnTouchListener 监听器,再到 onTouchEvent,接着 onTouchEvent 由产生了 onClick/onLongClick 。

如果大家感兴趣的话可以更深入的去阅读源码

重点:学 Android 有一段时间了,我打算好好的梳理一下所学知识,包括 Activity 、Service 、BroadcastRecevier 事件分发、滑动冲突、新能优化等所有重要模块,欢迎大家关注 _yuanhao 的 博客园 ,方便及时接收更新

如果有可以补充的知识点,欢迎大家在评论区指出。

码字不易,你的点赞是我总结的最大动力!

由于我在「稀土掘金」「简书」「CSDN」「博客园」等站点,都有新内容发布。所以大家可以直接关注我的 GitHub 仓库,以免错过精彩内容!

仓库地址:
超级干货!精心归纳 Android 、JVM 、算法等,各位老铁支持一下!给个 Star !

一万多字长文,加上精美思维导图,记得点赞哦,欢迎关注 _yuanhao 的 博客园 ,我们下篇文章见!

Android

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwxgg.html