创建对象:
GestureDetector gestureDetector = new GestureDetector(mContext, new OnGDLinstener());//第二个参数是实现GestureDetector.OnGestureListener接口监听的,具体看下面
实现监听
/**
* 实现监听
*/
private class OnGDLinstener implements GestureDetector.OnGestureListener {
//触摸屏幕时都会调用的方法
@Override
public boolean onDown(MotionEvent e) {
Log.i("gd", "onDown");
return false;
}
//在屏幕按下后,未移动和松开时
@Override
public void onShowPress(MotionEvent e) {
Log.i("gd", "onShowPress");
}
//轻击屏幕时调用该方法
@Override
public boolean onSingleTapUp(MotionEvent e) {
Log.i("gd", "onSingleTapUp");
return false;
}
//在屏幕上滚动时
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
Log.i("gd", "onScroll");
return false;
}
//在屏幕上长按时
@Override
public void onLongPress(MotionEvent e) {
Log.i("gd", "onLongPress");
}
//在屏幕上拖动时
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
Log.i("gd", "onFling");
return false;
}
}
如果需要测试这些方法调用情况,重写onTouchEvent方法即可
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}