2015-01-22 5 views
7

Was ist der Unterschied zwischen onScroll() und onFling() in der GestureDetector Schnittstelle? Wenn ich die Ereignisse drucke, zeigen sie genau dieselben Dinge an. Zumindest die letzten onScroll() und die onFling().Unterschied zwischen onScroll() und onFling() von GestureDetector

Der einzige wahre Unterschied, den ich bemerkt habe, ist, dass onScroll() viel öfter aufgerufen wird, immer nur einmal fling.

Antwort

11

Der Unterschied zwischen Scroll und fling

onFling: ist, dass der Benutzer seinen Finger in dem Ende der Bewegung hebt (das ist der Grund für das, was onFling wird einmal genannt).

onScroll: ist der allgemeine Prozess des Verschiebens des Ansichtsfensters (dh das 'Fenster' des Inhalts, den Sie betrachten).

Understand Scrolling Terminology "Scrolling" ist ein Wort, das auf verschiedene Bedeutungen in Android, je nach Kontext nehmen.

Scrollen ist der allgemeine Prozess des Verschiebens des Ansichtsfensters (das heißt, das 'Fenster' des Inhalts, den Sie betrachten). Wenn das Scrollen sowohl in der x- als auch in der y-Achse erfolgt, wird es als Panning bezeichnet. Die Beispielanwendung zur Verfügung gestellt mit dieser Klasse, InteractiveChart, zeigt zwei verschiedene Arten von Scrollen, Ziehen und schleudert:

  • Ziehen sind die Art des Scrollens, das auftritt, wenn ein Benutzer ihre Finger über die berührungs schleppt Bildschirm. Einfaches Ziehen wird oft implementiert durch Überschreiben onScroll() in GestureDetector.OnGestureListener. Für weitere Diskussion des Ziehens, siehe Dragging und Skalierung.

  • Flinging wird die Art des Scrollens, das auftritt, wenn ein Benutzer zieht und hebt ihren Finger schnell. Nachdem der Benutzer den Finger gehoben hat, möchten Sie normalerweise scrollen (Verschieben des Ansichtsfensters), aber verlangsamen, bis das Ansichtsfenster nicht mehr bewegt wird. Umleiten kann durch Überschreiben von onFling() in GestureDetector.OnGestureListener und mithilfe eines Scroller-Objekts implementiert werden.

Verwandte Themen