GestureDetector中onScroll()和onFling()的区别

18

GestureDetector接口中的onScroll()onFling()有什么区别?当我输出事件时,它们显示出完全相同的内容。至少最后一个onScroll()onFling()是这样。

我唯一注意到的真正区别是onScroll()被调用得更加频繁,而onFling()总是只调用一次。

1个回答

24
Scrollfling 的区别在于: onFling:用户在移动结束时松开手指(这就是为什么onFling只被调用一次的原因)。 onScroll:是移动视口(也就是你正在查看的内容的“窗口”)的一般过程。 了解滚动术语 "Scrolling"是一个在Android中根据上下文可以有不同含义的词汇。 滚动是移动视口(即你正在查看的内容的“窗口”)的一般过程。当滚动在x和y轴上时,它被称为平移。本类提供的示例应用程序InteractiveChart说明了两种不同类型的滚动:拖动和飞快滑动。
  • 拖动是当用户在触摸屏上拖动手指时发生的滚动类型。简单的拖动通常通过覆盖GestureDetector.OnGestureListener中的onScroll()方法实现。有关拖动的更多讨论,请参见Dragging and Scaling。

  • 飞快滑动是当用户迅速拖动并放开手指时发生的滚动类型。在用户放开手指后,你通常希望继续滚动(移动视口),但要减速直到视口停止移动。飞快滑动可以通过覆盖GestureDetector.OnGestureListener中的onFling()方法,并使用Scroller对象来实现。


  • 网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接