Android 事件的分发

来源:互联网 发布:怎么淘宝贷款高额 编辑:程序博客网 时间:2024/05/22 21:21

ACTION_DOWN的事件响应流程

dispatchTouchEvent()

  1. return true; —–> stop

  2. return false; ——>
    if(View == Activity) {
    onTouchEvent();
    } else {
    super.onTouchEvent();
    }

  3. return super.dispatchTouchTouchEvent(e);
    —–> this.onInterceptTouchEvent();

onInterceptTouchEvent()

  1. return true; —> this.onTouchEvent();

  2. return false; —> child.dispatchTouchEvent();

  3. return super.onInterceptTouchEvent();
    —> this.onTouchEvent();

onTouchEvent()

  1. return true; –> 接受并消费该事件

  2. return false; –> super.onTouchEvent();//向上传递,并且都是由上层的onTouchEvnent()接受

  3. return super.onTouchEvent();//和return false一样

注: ACTION_MOVE & ACTION_UP的事件响应流程是当ACTION_DOWN中的onTouchEvent()在哪个层次视图上面return true,就只将事件传递到该层上面。

0 0
原创粉丝点击