[Android]事件分发机制

Android的View是以树形结构存在,View可能会重叠,当我们点击某个地方可能会有多个View,所以有了事件分发机制。

Phonewindow-抽象类window的实现,事件管理容器。

DecorView-进行消息传递。

三个事件分发方法:

1、dispatchTouchEvent:决定了触摸事件是自身处理还是交给子view处理

2、onInterceptTouchEvent:用来拦截事件

3、onTouchEvent:处理传递到view的事件

流程:Activity->Phonewindow->DecorView->ViewGroup->…->View(责任链设计模式)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注