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

Difference between onScroll() and onFling() of GestureDetector

GestureDetector界面中的onScroll()onFling()有什么区别? 当我打印出事件时,它们显示的是完全相同的东西。至少最后一个 onScroll()onFling().

我注意到的唯一真正区别是 onScroll() 被调用的频率更高,总是只调用一次。

Scrollfling

的区别

onFling:是用户在动作结束时抬起手指(这就是onFling调用一次的原因)。

onScroll: 是移动视口(即你正在看的内容的'window')的一般过程。

Understand Scrolling Terminology "Scrolling" is a word that can take on different meanings in Android, depending on the context.

Scrolling is the general process of moving the viewport (that is, the 'window' of content you're looking at). When scrolling is in both the x and y axes, it's called panning. The sample application provided with this class, InteractiveChart, illustrates two different types of scrolling, dragging and flinging:

  • Dragging is the type of scrolling that occurs when a user drags her finger across the touch screen. Simple dragging is often implemented by overriding onScroll() in GestureDetector.OnGestureListener. For more discussion of dragging, see Dragging and Scaling.

  • Flinging is the type of scrolling that occurs when a user drags and lifts her finger quickly. After the user lifts her finger, you generally want to keep scrolling (moving the viewport), but decelerate until the viewport stops moving. Flinging can be implemented by overriding onFling() in GestureDetector.OnGestureListener, and by using a scroller object.