事件分发机制:从onClick到dispatchTouchEvent

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件分发机制:从onClick到dispatchTouchEvent相关的知识,希望对你有一定的参考价值。

  • 三个基本函数

    • dispatchTouchEvent
    • onTouchEvent
    • onIntercepTouchEvent
  • 从onClick到dispatchTouchEvent的过程

  • 在View中有一个成员变量:ListenerInfo mListenerInfo;,里面储存了OnClickListener。并在performClick()函数中被调用。

  • 那么performClick()在哪里被调用?
    在Android 9 SDK 28中,performClick间接被onTouchEvent调用。在onTouchEvent的ACTION_UP中,调用了performClickInternal(),然后在performClickInternal()中调用了performClick()。
    下面是View#onTouchEvent中的代码截图

  • View.onTouchEvent()又是被谁调用的?

以上是关于事件分发机制:从onClick到dispatchTouchEvent的主要内容,如果未能解决你的问题,请参考以下文章

android事件分发机制

事件分发机制梳理

Android事件分发机制五:面试官你坐啊

Android事件分发机制浅谈

从源码角度分析Android 事件分发机制以及常见滑动冲突解决方案

从源码角度分析Android 事件分发机制以及常见滑动冲突解决方案