gpt4 book ai didi

android - 分别触发 onFling 和 onScroll

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:04 27 4
gpt4 key购买 nike

我正在尝试编写一个程序来检测和处理手势。我设法使 onFling 和 onScroll 事件起作用(这些事件在 Activity 内部的监听器类中实现)。但是,每次我进行滑动 (onFling) 时,onScroll() 函数中的代码也会被执行。例如:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
//do something here, for example change background color to red
return true;
}

@Override
public boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
//do something, for example vibrate
return true;
}

在这种情况下,当我滚动时设备会振动,这没关系。但是,当我进行滑动并执行 onFling 时,颜色会变为红色,但它也会振动,我不希望这样。

有没有什么办法可以防止这种情况发生,所以当滑动发生时,只有 onFling() 事件中的代码被执行,而 onScroll() 只在真正发生滚动时触发,或者如果不使用 onScroll() 但处理简单手指移动和滑动手势分开?

编辑:我正在使用 GestureDetector 类。

最佳答案

我猜你正在使用 GestureDetector

滚动不会发生在它之前发生的滚动,这就是为什么您在 onFling(...) onScroll(...) 回调的原因。当用户将手指抬离屏幕 (ACTION_UP) 并且已生成足够的速度时,将调用 onFling(...)

关于android - 分别触发 onFling 和 onScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14255374/

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