将触摸事件分派到不同的窗口(如 PopUpWindow 或对话框窗口)

问题描述 投票:0回答:1

我对触摸事件调度有一个疑问。

通常 Activity 与一个窗口相关联,所以如果我使用类似的代码 下面,事件被正确分派到相应的视图 那些坐标。

getWindow().getDecoreView().dispatchTouchEvents().

但是如果屏幕上出现一些新的窗口(例如 Dialog 或 PopUpWindow) 如何将事件发送到这些窗口?

  1. 有同样的API可用吗?

  2. 任何想法,Android 框架如何将事件分派到最集中的顶部 窗户?

  3. 如果我们可以从框架公开 API,任何指向特定的指针 类还是函数?

android events touch dispatch
1个回答
2
投票

android中的事件是逐级调度的。事件从activity->ViewGroup->View开始,你可以实现这些方法来控制事件的派发:

dispatchTouchEvent(MotionEvent)

onTouchEvent(MotionEvent)

onInterceptTouchEvent(MotionEvent)
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.