ddu-touch

作者: 小董666 | 来源:发表于2016-08-19 14:28 被阅读0次

点击事件的分发

  • 默认的ViewGroup:
    public boolean dispatchTouchEvent(MotionEvent ev) {
    lisenter.onLog(Tag+"开始事件分发");
    return super.dispatchTouchEvent(ev);
    }

        @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
    //是否拦截
      return super.onInterceptTouchEvent(ev);
      
    }
    //是否处理
     @Override
      public boolean onTouchEvent(MotionEvent event) {
    
      return super.onTouchEvent(event);
      }
    
  • MotionEvent 封装了点击的信息,包括触摸点坐标,Action等等。

  • 对于view来说没有onInterceptTouchEvent方法。

  • 事件的处理都是在onTouchEvent方法中。返回true表示处理过,false表示为处理。

  • 流程:
    ViewGroup首先分发事件:执行dispatchTouchEvent------到onInterceptTouchEvent是否拦截-------不拦截就继续向下传递-----view如果处理了,onTouchEvent返回true,事件结束。--------如果子view依然没有处理------事件向上返回。

相关文章

  • ddu-touch

    点击事件的分发 默认的ViewGroup:public boolean dispatchTouchEvent(Mo...

网友评论

      本文标题:ddu-touch

      本文链接:https://www.haomeiwen.com/subject/keybsttx.html