Android事件分发是由dispatchTouchEvent进行分发的,
当你触摸一个Android控件的时候就会触发dispatchTouchEvent方法
dispatchTouchEvent是事件分发
onInterceptTouchEvent是事件拦截
OnTochEvent是事件的消费
事件分发是从一个activity的布局文件开始,是一个viewGroup或者view
默认分发给子view的dispatchTouchEvent:
当返回true时 dispatchTouchEvent自己消费事件
当返回false时 dispatchTouchEvent有两种情况1当父view是activity时让activity的OnTouchEvent来处理事件
2当父view是一个view时,返回父view的OnTouc来处理
当返回默认的super.dispatchTouchEvent时候交给当前view的OnInterceptTouchEvent来处理
拦截:
当OnInterceptTouchEvent返回true事件交给当前view的OnTouchEvent来处理
当OnInterceptTouchEvent返回true事件交给子view的dispatchTouchEvent进行处理
当返回super.OnInterceptTouchEvent事件交给当前的OntouchEvent进行处理
消费:
当OntouchEvent返回true时由当前的view进行消费事件
当OnTouchEvent返回false时事件向上传递
当OnTouchEvent返回super.OnTouchEvent是由当前的view进行消费事件