用法:首先让指定的Activity实现Android.view.OnGestureListener,然后在你需要调用GestureDetector的View上,添加onTouchListener,之后setLongClickable(true)即可.
如:
customView.setOnTouchListner(xxxListener);
customView.setLongClickable(true);
之后就可以在onFling方法中设置你想要的手势.
onFling方法参数解释:
onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY)
官方解释:
Notified of a fling event when it occurs with the initial on down MotionEvent
and the matching up MotionEvent
. The calculated velocity is supplied along the x and y axis in pixels per second.
e1代表手指按下的瞬间触发的事件,
e2代表手指未弹起,移动时触发的事件
剩下两个参数大致意思是每秒钟在x,y方向上移动的像素点数.
所以,通过e1和e2即可创造出手势的判断条件.
简单左右滑动手势代码:
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stubto
if (e1.getX() > e2.getX()) {
Log.i("msg", "<<<<<<<<<");
} else {
Log.i("msg", ">>>>>>>>>");
}
Toast.makeText(this, "Fling", 0).show();
return false;
}