Android面试一问一答:事件分发

描述一下事件分发机制

  • 所谓的事件分发其实就是事件的传递过程,主要涉及到三个方法:
public boolean dispatchTouchEvent(MotionEvent ev)
public boolean onInterceptTouchEvent(MotionEvent ev)
public boolean onTouchEvent(MotionEvent ev)
  • 其中InterceptTouchEvent方法是ViewGroup独有的。其返回值用来决定该ViewGroup是否处理这个事件。
  • dispatchTouchEvent方法是用来分发这个事件的,InterceptTouchEvent在这个方法内的开始调用,如果要处理这个事件,则调用该view的onTouchEvent方法,如果不处理这个事件,则调用子类的dispatchTouchEvent方法。
  • onTouchEvent方法是用来最终处理具体事件的,比如手指的按下、滑动和抬起。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容