OnGestureListener简介

来源:互联网 发布:诺基亚e63商店软件下载 编辑:程序博客网 时间:2024/06/03 23:39

方法:

/** * 轻触屏幕,由1个MotionEvent ACTION_DOWN触发 */@Overridepublic boolean onDown(MotionEvent e) {Log.d("test", "onDown");return false;}

/** * 轻触屏幕,尚未松开或拖动,由1个MotionEvent ACTION_DOWN触发 * 和onDown()的区别,强调的是没有松开或者拖动 */@Overridepublic void onShowPress(MotionEvent e) {Log.d("test", "onShowPress");}

/** * 轻触屏幕后松开,由1个MotionEvent ACTION_UP触发 */@Overridepublic boolean onSingleTapUp(MotionEvent e) {Log.d("test", "onSingleTapUp");return false;}

/** * 按下触摸屏,并拖动,由1个MotionEvent ACTION_DOWN, 多个ACTION_MOVE触发 */@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,float distanceY) {Log.d("test", "onScroll");return false;}


/** * 长按触摸屏,由多个MotionEvent ACTION_DOWN触发 */@Overridepublic void onLongPress(MotionEvent e) {Log.d("test", "onLongPress");}

/** * 抛的动作,由1个MotionEvent ACTION_DOWN, 多个ACTION_MOVE, 1个ACTION_UP触发 */@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {Log.d("test", "onFling");return false;}

@Overridepublic boolean onTouch(View v, MotionEvent ev) {switch (ev.getAction()) {case MotionEvent.ACTION_DOWN:Log.d("test", "touch event ACTION_DOWN");break;case MotionEvent.ACTION_UP:Log.d("test", "touch event ACTION_UP");break;case MotionEvent.ACTION_MOVE:Log.d("test", "touch event ACTION_MOVE");break;case MotionEvent.ACTION_CANCEL:Log.d("test", "touch event ACTION_CANCEL");break;default:break;}return mGestureDetector.onTouchEvent(ev);}

onTouch方法中将触摸事件交给手势检查类GestureDetector处理,回调上述方法。


例如:

1. 轻触---->松开

2.轻触(时间比上面稍长)----->松开

3.轻触(长按,比2时间长)------>松开

4.轻触---->拖动----->松开


5.抛的动作

6.抛的动作,滚动未完成,再次抛

   5的循环