步骤1:可以在BaseActivity里,定义成员变量,创建一个内部类:
private GestureDetector mGestureDetector;
public class GestureListener extends GestureDetector.SimpleOnGestureListener {
// 最小距离,最小速度
final int FLING_MIN_DISTANCE = 100, FLING_MIN_VELOCITY = 200;
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (e1.getX()- e2.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) {
// Fling left
Log.e("MyGestrue", "Fling_left");
} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) {
// Fling right
Log.e("MyGestrue", "Fling_right");
}
return true;
}
}
步骤2:在继承自BaseActivity的类里初始化GestureDetector:
mGestureDetector = new GestureDetector(new GestureListener());
步骤3:在onTouch事件中:
private boolean onTouch(Viewv,MotionEvent event) {
// TODOAuto-generated method stub
return mGestureDetector.onTouchEvent(event);
}