我对触摸事件调度有一个疑问。
通常 Activity 与一个窗口相关联,所以如果我使用类似的代码 下面,事件被正确分派到相应的视图 那些坐标。
getWindow().getDecoreView().dispatchTouchEvents().
但是如果屏幕上出现一些新的窗口(例如 Dialog 或 PopUpWindow) 如何将事件发送到这些窗口?
有同样的API可用吗?
任何想法,Android 框架如何将事件分派到最集中的顶部 窗户?
如果我们可以从框架公开 API,任何指向特定的指针 类还是函数?
android中的事件是逐级调度的。事件从activity->ViewGroup->View开始,你可以实现这些方法来控制事件的派发:
dispatchTouchEvent(MotionEvent)
onTouchEvent(MotionEvent)
onInterceptTouchEvent(MotionEvent)