目标: 手势左右滑动,实现左右翻页。
步骤:
1、监听手势动作必须重写onTouchEvent方法
//重写手势判断事件(利用手势识别器 GestureDetector)
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
2、利用手势识别器 GestureDetector 处理手势事件
GestureDetector mDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
//监听手势滑动事件
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//限制下手势的滑动范围不能太小 ,最少得大于200
//向右滑动,显示上一页
if(e2.getRawX() - e1.getRawX() > 200){
new Intent(CurrentActivity.this,PerviousActivity.class);
CurrentActivity.this.finsh();
}
//向左滑动,显示下一页
if(e1.getRawX() - e2.getRawX() > 200){
new Intent(CurrentActivity.this,NextActivity.class);
currentActivity.this.finsh();
}
return super.onFling(e1, e2, velocityX, velocityY);
}
});
onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)参数说明:
e1:手势起始点
e2:手势终点
velocityX: x轴移动速度
velocityY:Y轴移动速度
3、把手势识别器mDetector添加到手势判断事件onTouchEvent方法中用来处理事件
@Override
public boolean onTouchEvent(MotionEvent event) {
//将手势判断交给手势识别器处理
mDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}