GestureDetector mDetector = new GestureDetector(this, new MyGestureListener());
@Override
public boolean onTouchEvent(MotionEvent event) {
mDetector.onTouchEvent(event);// 交给手势识别器
return super.onTouchEvent(event);
}
// 监听手势滑动事件
class MyGestureListener extends SimpleOnGestureListener {
@Override
/**
* e1滑动起点,e2滑动末点
* velocityx 水平滑动速度
* velocityy 垂直滑动速度
*/
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
//纵向滑动不能太大
if(Math.abs(e2.getRawY()-e1.getRawY())>200){
Toast.makeText(BaseSetupActivity.this, "不能这样滑哦!", 0).show();
return true;
}
//滑动速度不能过慢
if(Math.abs(velocityX)<100){
Toast.makeText(BaseSetupActivity.this, "滑动太慢了!", 0).show();
return true;
}
// 右滑,跳转上一页
if (e2.getRawX() - e1.getRawX() > 200) {
showPreviousPage();
return true;
}
// 左滑,跳转下一页
if (e1.getRawX() - e2.getRawX() > 200) {
showNextPage();
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
}