2015-01-22 7 views
7

Qual è la differenza tra onScroll() e onFling() nell'interfaccia GestureDetector? Quando stampo gli eventi mostrano le stesse identiche cose. Almeno l'ultimo onScroll() e lo onFling().Differenza tra onScroll() e onFling() di GestureDetector

L'unica vera differenza che ho notato è che il numero onScroll() viene chiamato molto più spesso, fling sempre solo una volta.

risposta

11

La differenza tra Scroll e fling

onFling: è che l'utente solleva il dito alla fine del movimento (che è il motivo per ciò onFling viene chiamato una volta).

onScroll: è il processo generale di spostamento della finestra (ovvero la 'finestra' del contenuto che si sta guardando).

Understand Scrolling Terminology "scorrimento" è una parola che può assumere diversi significati in Android, a seconda del contesto.

Lo scorrimento è il processo generale di spostamento della finestra di visualizzazione (ovvero, la finestra " " del contenuto che si sta guardando). Quando lo scorrimento è in entrambi gli assi xxe, viene chiamato panning. L'applicazione di esempio fornito con questa classe, InteractiveChart, illustra due diversi tipi di scorrimento, trascinando e flinging:

  • Trascinando è il tipo di scorrimento che si verifica quando un utente trascina il suo dito sul touch schermo. Il semplice trascinamento viene spesso implementato sovrascrivendo onScroll() in GestureDetector.OnGestureListener. Per ulteriori discussioni sul trascinamento, vedere Trascinamento e ridimensionamento.

  • gettando è il tipo di scorrimento che si verifica quando un utente trascina e solleva il dito rapidamente. Dopo che l'utente solleva il dito, in genere si desidera mantenere lo scorrimento (spostamento della finestra), ma decelerare fino a quando la vista non si muove. Flinging può essere implementato ignorando onFling() in GestureDetector.OnGestureListener e usando un oggetto scroller.