一、什么是触摸事件?
当前可以直接去查查*等查下专业的即使,不过这里可以给出一个通俗点的。
先看看下面图片,点击中间的图片后弹出“点击图片”字样。
二、用户如何理解?
站在用户的角度来分析整个过程是
1. 手上拿着一个手机,手机上显示的界面是一个黑底背景中间显示一个图片。
2. 手指在屏幕上点击图片
3. 弹出“点击图片”字样。
三、手机系统如何理解?
那站在手机系统的角度的流程呢?1. 显示当前界面(这属于UI范畴,暂时略过)
2. 用户手指在屏幕是点了一下
3. 底层提供给FrameWork层的仅仅是MotionEvent中获取的动作与坐标
4. 用户点击的视图相应点击事件
四、疑问
以上第4步肯定会提出2个疑问:1. Andorid系统获取到触摸事件后,如何知道用户触摸的是哪个视图?
2. Android系统知道你要做什么吗?例如是点击、滚动、长按还是其他的?
五、回答第2个疑问
以上疑问是有先后顺序的,因为按照猜测也肯定是先找到视图,然后指定视图再进行相应处理。事件学习系列打算右下至上逐步学习,那先来看看第二个问题,系统如何获知用户想干什么?(即用户的手势是什么?点击、滚动、长按还是其他的?),以下6篇文章用于解释触摸事件的第二个疑问(解决:用户此次触摸屏幕是想干什么?)。《Android Touch事件学习 2 触发点击事件的地方》
《Android Touch事件学习 3 区分各种手势基础知识》
《Android Touch事件学习 4 获取手指触摸位置》《Android Touch事件学习 6 手势识别》
以上6篇都是涉及View.onTouchEvent与其参数MotionEvent 相关文章。
还有一些知识点并未总结出来,如自定义手势、多点触摸等。