0Pricing
Jetpack Compose Academy · Lezione

Animazioni guidate dai gesti

Guidi il movimento con trascinamenti e swipe.

Animazioni guidate dai gesti è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.

Movimento controllato dal tocco

Le animazioni guidate dallo stato vengono eseguite autonomamente, ma alcuni movimenti dovrebbero seguire il dito. Le gesture-driven animations consentono a trascinamenti e scorrimenti di guidare il movimento. ✨

Tracciare l'offset

Mantenga la posizione corrente nello stato. Lo strumento più diretto è Animatable, che memorizza un valore e può sia impostarlo immediatamente sia animarlo fino a raggiungerlo.

val offsetX = remember { Animatable(0f) }

Leggere gli eventi di trascinamento

Utilizzi pointerInput con detectDragGestures per ricevere ogni differenza del trascinamento mentre l'utente sposta il dito sull'elemento.

Modifier.pointerInput(Unit) { detectDragGestures { _, drag -> } }

Seguire il dito

Durante un trascinamento, chiami snapTo per spostarsi istantaneamente nella nuova posizione. Lo spostamento immediato mantiene l'elemento aderente al dito senza ritardi.

scope.launch { offsetX.snapTo(offsetX.value + drag.x) }

Applicare l'offset

Passi il valore a un modificatore offset in modo che il Composable si sposti fisicamente. La vista segue ogni pixel del trascinamento in tempo reale.

Modifier.offset { IntOffset(offsetX.value.roundToInt(), 0) }

Animare al rilascio

Quando il dito si solleva, passi da snap a animateTo, così l'elemento scivola dolcemente nella posizione iniziale o verso l'ancora più vicina.

scope.launch { offsetX.animateTo(0f) }

Trasferire lo slancio

Acquisisca la velocità del fling da onDragEnd e la passi a animateDecay. Dopo il rilascio l'elemento continua a scorrere, proprio come in un vero gesto rapido. 🌀

offsetX.animateDecay(velocity, exponentialDecay())

Scorrere tra le ancore

Per lo scorrimento con chiusura o per gli slider, esegua lo snap su posizioni fisse. anchoredDraggable collega i gesti a punti di ancoraggio definiti e si stabilizza tra di essi.

Le coroutine lo gestiscono

Gli aggiornamenti di Animatable sono funzioni suspend, quindi li avvii in un coroutine scope. Ne ottenga uno con rememberCoroutineScope all'interno del Composable.

val scope = rememberCoroutineScope()

Progettato per essere interrompibile

Poiché gesti e animazioni condividono lo stesso Animatable, un nuovo tocco interrompe qualsiasi animazione in corso e restituisce immediatamente il controllo all'utente.

La sensazione delle app native

La combinazione dello snap durante il trascinamento con decay and spring al rilascio è il segreto di gesti fluidi e naturali, reattivi e dinamici.

Verifica rapida

Durante il trascinamento del dito, quale chiamata di Animatable mantiene l'elemento aderente al tocco?

Riepilogo: il tocco incontra il movimento

Ha combinato pointerInput con Animatable: snapTo durante il trascinamento, quindi animateTo o animateDecay al rilascio per ottenere un movimento fluido guidato dai gesti. 🎉

Domande Frequenti

La lezione «Animazioni guidate dai gesti» è gratuita?

Sì — il testo completo di «Animazioni guidate dai gesti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.

Cosa imparerò in «Animazioni guidate dai gesti»?

Guidi il movimento con trascinamenti e swipe. Eserciti Jetpack Compose Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Jetpack Compose Academy?

Non è richiesta alcuna esperienza precedente. Jetpack Compose Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Animazioni guidate dai gesti»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Jetpack Compose Academy?

Sì. Ogni lezione Jetpack Compose Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. animate*AsState per interpolazioni semplici
  2. AnimatedVisibility e Crossfade
  3. updateTransition per movimenti coordinati
  4. Animazioni guidate dai gesti
← Torna a Jetpack Compose Academy