gpt4 book ai didi

android - SimpleOnGestureListener onFling 速度方向问题

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:06 28 4
gpt4 key购买 nike

我在这个 Android 应用程序上实现了一个 SimpleOnGestureListener,它是基本实现并且一切正常:

该类实现了 OnTouchListener,我将它设置为正确 View 的 TouchListener,在触摸事件上我调用了我的 SimpleOnGestureListener 实例

@Override
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}

在我的 fling 回调中,我记录了 velocityY(应用程序使用了一些向下滑动的手势)

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){
Log.d(TAG, "velocityY = " + velocityY);

... some code ...
}

该方法被调用,我在我的日志中看到值。

问题在于,对于向下飞行的 Nexus 4 和 Nexus 10,velocityY 是正值,而对于 Nexus 7,它是负值。

我知道有人会建议使用 e2.getY - e1.getY(或原始的)但它们并不完全可靠,因为愚蠢的用户可能(并且会)向下拖动 View 然后扔掉它,但差异仍然是正的。

那么问题来了:有没有办法查询系统这个东西的方向是什么?

最佳答案

所以我找出了问题的原因,很快就会发布一个新问题,可能是解决方法。

问题是我使用 onScroll() 在屏幕上使用 View.offsetTopAndBottom 上下移动 View 随着位置的变化,VelocityTracker 变得完全疯狂

我会进一步研究,看看我是否可以尝试使用 VT,或者我是否可以推出自己的解决方法,但是,是的,这就是原因!

关于android - SimpleOnGestureListener onFling 速度方向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915011/

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