将事件发送到不同窗口(如PopUpWindow或对话窗口)

时间:2013-02-24 15:46:02

标签: android events touch dispatch

我对Touch Event Dispatch有一个疑问。

通常Activity与一个Window相关联,所以如果我使用类似的代码 在某种程度上,事件被正确地发送到相应的视图 那些坐下。

getWindow()。getDecoreView()。dispatchTouchEvents()。

但是如果有一些新的Windows出现在屏幕上,(比如Dialog或PopUpWindow) 如何将事件发送到那些窗口?

  1. 是否有可用的API?

  2. 任何想法,Android Framework如何将事件聚焦到最重要的位置 窗口?

  3. 如果我们可以从框架中公开API,那么任何指向特定的指针 类或功能?

1 个答案:

答案 0 :(得分:2)

android中的事件逐级调度。该活动从活动 - > ViewGroup->查看开始,您可以实施这些方法来控制事件发送:

dispatchTouchEvent(MotionEvent)

onTouchEvent(MotionEvent)

onInterceptTouchEvent(MotionEvent)