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
场景:
当用户触摸屏幕上的一个控件以后,这个控件所在的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
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories