您的位置:首页 > 移动开发 > Android开发

android随笔小记 view onTouch事件分发

2016-05-25 22:14 417 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息