gpt4 book ai didi

java - 手指在屏幕上滑动的灵敏度

转载 作者:行者123 更新时间:2023-11-29 02:39:30 25 4
gpt4 key购买 nike

我正在使用 GestureDetector.OnGestureListener 在用户将手指沿指定方向移过屏幕时调用方法。我的问题 - 只需轻轻移动并调用该方法,我希望用户在屏幕上多移动一点手指。

public class SwipeListener extends GestureDetector.SimpleOnGestureListener {
public static final int MIN_SWIPE_DISTANCE = 40;


@Override
public boolean onDown(MotionEvent e) {
return true;
}


@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
float xDiff = e1.getX() - e2.getX();
float yDiff = e1.getY() - e2.getY();
return resolveSwipe(xDiff, yDiff);
}


private boolean resolveSwipe(float xDist, float yDist) {
float yDistAbs = Math.abs(yDist);
float xDistAbs = Math.abs(xDist);

SwipeDirection swipeDirection;


if (yDistAbs > xDistAbs) {
if (yDistAbs < MIN_SWIPE_DISTANCE) {return false;}
swipeDirection = (yDist > 0) ? SwipeDirection.DOWN: SwipeDirection.UP;

} else {
if (xDistAbs < MIN_SWIPE_DISTANCE) {return false;}
swipeDirection = (xDist > 0) ? SwipeDirection.RIGHT: SwipeDirection.LEFT;
}

onSwipeEvent(swipeDirection);
return true;
}

private void onSwipeEvent(SwipeDirection swipeDirection) {
if (swipeDirection == SwipeDirection.UP) {

return;
}
if (swipeDirection == SwipeDirection.DOWN) {

return;
}
if (swipeDirection == SwipeDirection.LEFT) {
finger1()
return;
}
if (swipeDirection == SwipeDirection.RIGHT) {
finger1();
return;
}

}

public enum SwipeDirection {
UP, DOWN, LEFT, RIGHT
}

这可能吗?我应该在此处更改或添加什么?

最佳答案

您需要计算您不想在滑动时执行任何操作的 x 轴或 y 轴级别。

关于java - 手指在屏幕上滑动的灵敏度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45233537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com