首页 > 解决方案 > 谁将 touchEvent 传递给 Activity?

问题描述

当我们谈论活动时,我知道触摸事件流:

Activity -> Window -> DecorView -> ViewGroup -> ...

问题是:当用户在屏幕上按下 smth 时,谁将触摸事件传递给 Activity?

是否有任何服务或经理对此作出回应?

我在哪里可以读到它?

标签: androidtouch

解决方案


通常,在 ActivityThread 中运行的Looper从操作系统接收输入消息并将输入事件分派到包括 Activity 在内的视图层次结构。在 onTouchEvent() 中设置断点并在 Android Studio Debugger 中查看“Frames”。您可以找到与事件交付相关的所有参与者(类、方法)。


推荐阅读