GsetureDetector交互过程触屏的一刹那,触发MotionEvent事件被OnTouchListener监听,在onTouch()中获得MotionEvent对象GestureDetector转发MotionEvent对象到OnGestureListenerOnGest ...
GsetureDetector
交互过程
- 触屏的一刹那,触发MotionEvent事件
- 被OnTouchListener监听,在onTouch()中获得MotionEvent对象
- GestureDetector转发MotionEvent对象到OnGestureListener
- OnGestureListener获得该对象,根据该对象封装的信息做出合适的反馈
内部类:两个**接口
OnGestureListener:单击类
方法
- 单击onDown(MotionEvent e)
- 抬起onSingleTapUp(MotionEvent e)
- 短按onShowPress(MotionEvent e)
- 长按onLongPress(MotionEvent e)
- 滚动onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY)
- 滑动onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY)
OnDoubleTapListener:双击
方法
- 双击OnDoubleTap(MotionEvent e)
- 双击按下和抬起各触发一次:onDoubleTapEvent(MotionEvent e)?应用例子?
- 单击确定onSingleTapConfirmed(MotionEvent e)?
SimpleOnGestureListener
概述: SimpleOnGestureListener实现了上面的连个接口 OnGestureListener and OnDoubleTapListener,可以通过继承这个类来实现你所想实现的手势交互动作。需要的动作可以在接口里找对应的方法,如果方法返回false就是什么都不做。
运用例子
效果
这个例子在主界面加载一个图片,然后左右滑动提示相应的文字。
过程
- OnTouchListener监听,在onTouch中获得MotionEvent对象
img.setOnTouchListener(new OnTouchListener() { @Override//捕获的触摸屏发生的event事件 public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return true;//记得这里改为ture } });
- 在Activity建立一个继承于SimpleOnGestureListener的类
class MyGestureListener extends SimpleOnGestureListener{ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub //e1和e2分别是开始和结束的动作对象 //通过e1和e2位置的比较判断手势的动作 if (e1.getX() - e2.getX() > 50) { Toast.makeText(MainActivity.this, "从右向左滑动",0).show(); }else if(e2.getX() - e1.getX() >50){ Toast.makeText(MainActivity.this, "从左向右滑动",0).show(); } return super.onFling(e1, e2, velocityX, velocityY); } }
3.获得一个GestureDetextor对象(声明省略了)
gestureDetector = new GestureDetector(MainActivity.this, new MyGestureListener());
4.在onTouch方法中gestureDetector转发MotionEvent对象到OnGestureListener(这里是MyGestureListener)
gestureDetector.onTouchEvent(event);
5.MyGestureListener获得该对象,根据该对象封装的信息做出合适的反馈(在图片上左右滑动提示对应的文字)
原标题:手势交互GestureDetector的教程
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。