🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 描述一下Android的事件分发机制? Android事件分发机制的本质:事件从哪个对象发出,经过哪些对象,最终由哪个对象处理了该事件。此处对象指的是Activity、Window与View。 Android事件的分发顺序:Activity(Window) -> ViewGroup -> View Android事件的分发主要由三个方法来完成,如下所示: ```java // 父View调用dispatchTouchEvent()开始分发事件 public boolean dispatchTouchEvent(MotionEvent event){ boolean consume = false; // 父View决定是否拦截事件 if(onInterceptTouchEvent(event)){ // 父View调用onTouchEvent(event)消费事件,如果该方法返回true,表示 // 该View消费了该事件,后续该事件序列的事件(Down、Move、Up)将不会在传递 // 该其他View。 consume = onTouchEvent(event); }else{ // 调用子View的dispatchTouchEvent(event)方法继续分发事件 consume = child.dispatchTouchEvent(event); } return consume; } ```