我正在实施OnFling。它仅在速度非常高时才有效。这意味着我需要非常快速地移动我的手指,以便进行Fling。 这是代码:
SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener() {
@Override
public boolean onDoubleTap(MotionEvent e) {
// TODO Auto-generated method stub
Log.v("onDoubleTap: \n", e.toString());
return super.onDoubleTap(e);
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
Log.v("on fling", "on fling");
if ((e1.getY() < CARD_POSITION) && (e2.getY() < CARD_POSITION)
&& (Math.abs(e1.getX() - e2.getX()) > CARD_SWIPE_MIN)){
return super.onFling(e1, e2, velocityX, velocityY);
} else {
return false;
}
}
答案 0 :(得分:1)
请参阅https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/GestureDetector.java,查找名为mMinimumFlingVelocity的字段
答案 1 :(得分:1)
试试这个,它适合我 我避免使用GestureDetector和SimpleOnGestureListener,我通过捕获触摸列表来捕获MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP的位置。