Mulgard Mulgard - 1 month ago 18
Android Question

Difference between onScroll() and onFling() of GestureDetector

What is the difference between

onScroll()
and
onFling()
in the
GestureDetector
interface?
When I print out the events they are showing the exact same things. At least the last
onScroll()
and the
onFling()
.

The only true difference I noticed is that
onScroll()
is called much more often, fling always just one time.

Answer

The difference between Scroll and fling

onFling: is that the user lifts his finger in the end of the movement (that is the reason for what onFling is called one time).

onScroll: is the general process of moving the viewport (that is, the 'window' of content you're looking at).

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.