Android里面所有控件都级继承View,所有layout都是继承GroupView(groupview继承View)
场景:
当用户触摸屏幕上的一个控件以后,这个控件所在的Activity将会把这个触摸事件往下分发,首先Activity的dispatchTouchEvent() 将ACTION_DOWN 往下分发,循环寻找接受处理这个事件的View,如果没有找到,则自己处理这个事件。然后同理依次将ACTION_MOVE,ACTION_UP,ACTION_CANCEL分发。
一、 假如A TextView将要处理该事件,则
1、当ACTION_DOWN分发到这里的时候,先进该View的dispatchTouchEvent(),然后通过条件判断是否是执行onTouch() ,onTouchEvent(),最后返回true.
2、判断是否是该View处理事件的条件:坐标x/y吻合、可见、enable,没有被上层View拦截事件等。
相关详细分析参考如下文献:
http://blog.csdn.net/lmj623565791/article/details/39102591
http://blog.csdn.net/yanbober/article/details/45887547#comments
http://blog.csdn.net/yanbober/article/details/45912661