手势识别器
一、
@Override public boolean onTouchEvent(MotionEvent event) { //委托给手势识别器处理 mDetector.onTouchEvent(event); return super.onTouchEvent(event); }
两种实现方式
/** * 手势识别 */ mDetector=new GestureDetector(this, new GestureDetector.SimpleOnGestureListener(){ //监听手势滑动事件 /** *e1滑动的起点,e2滑动的终点 * velocityX水平速度,velocityY垂直速度 */ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //向左滑,下一页 if (e1.getRawX() - e2.getRawX() > 200){ } //向右滑,上一页 if (e2.getRawX() - e1.getRawX() > 200){ } return super.onFling(e1, e2, velocityX, velocityY); } });
mDetector=new GestureDetector(this, new GestureDetector.OnGestureListener() { @Override public boolean onDown(MotionEvent e) { return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; } }