标签:
一直对view的事件处理流程迷迷糊糊,今天花了点时间写了个栗子把它弄明白了。
1.view的常用的事件分为:单击事件(onClick)、长按事件(onLongClick)、触摸事件(onTouch),另外view也有自己的onTouchEvent方法,这么多与事件相关的方法都由dispatchTouchEvent管理
2.根据面向对象思想,onTouch事件被封装成 MotionEvent 对象,常见的几个动作如图:
动作 | 简介 |
---|---|
ACTION_DOWN | 手指 初次接触到屏幕 时触发。 |
ACTION_MOVE | 手指 在屏幕上滑动 时触发,会会多次触发。 |
ACTION_UP | 手指 离开屏幕 时触发。 |
ACTION_CANCEL | 事件 被上层拦截 时触发。 |
3.
下面是我用写的栗子打印出来的日志:手指按下,不移动,稍等片刻再抬起
所以事件的调度顺序应该是 onTouchListener > onTouchEvent > onLongClickListener > onClickListener
。
标签:
原文地址:http://www.cnblogs.com/kelina2mark/p/5972838.html