android中的dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent

android中,触摸事件的传递过程主要涉及三个方法:dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent。
详细了解这三个方法的作用首先要了解以下几个知识点:

  • android中的Touch事件都是从ACTION_DOWN开始的:
    单指:ACTION_DOWN->ACTION_MOVE->ACTION_UP;
    多指:ACTION_DOWN->ACTION_POINTER_DOWN->ACTION_MOVE->ACTION_POINTER_UP->ACTION_UP
  • 一次完整的触摸事件中,Down和Up都只有一个,Move有若干个,可以为0个。当触摸事件被拦截时,Up可能是0个。
  • View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。

知道了以上基本知识点以后,就可以开始了~

Read More