Jetpack Compose Academy · Lezione

animate*AsState per interpolazioni semplici

Animi automaticamente un singolo valore.

Lezione 1 di 413 passaggi

animate*AsState per interpolazioni semplici è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 1 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.

Animazioni, nel modo più semplice

Compose può animare i cambiamenti al posto vostro. Lo strumento più semplice è la famiglia animate*AsState, che sposta gradualmente un valore dal vecchio al nuovo. ✨

Che cosa fa animateDpAsState

Quando cambia il valore obiettivo, animateDpAsState restituisce uno State che vi si avvicina gradualmente in alcuni frame, invece di saltare direttamente al nuovo valore.

val size by animateDpAsState(targetValue = if (big) 200.dp else 100.dp)

Leggerlo come un normale State

Il valore animato è semplicemente uno State che leggete con by. Usatelo in un Modifier e l’interfaccia seguirà l’animazione a ogni frame.

Box(Modifier.size(size).background(Color.Blue))

Un’intera famiglia di helper

Esiste una funzione per ogni tipo: animateFloatAsState, animateColorAsState, animateDpAsState e altre ancora. Scegliete quella che corrisponde al valore da interpolare.

Animare un colore

Usate animateColorAsState per sfumare tra due colori. Cambiate un booleano e osservate lo sfondo passare gradualmente da una tonalità all’altra. 🎨

val color by animateColorAsState(if (on) Color.Green else Color.Gray)

Animare la trasparenza

Per una comparsa o una scomparsa graduale, animate un float e passatelo ad alpha. Un valore di 0f è invisibile, mentre 1f è completamente opaco.

val a by animateFloatAsState(if (visible) 1f else 0f)
Box(Modifier.alpha(a))

Scegliere il ritmo

Passate un animationSpec per controllare i tempi. Un tween permette di impostare la durata in millisecondi e una curva di easing.

animateDpAsState(target, animationSpec = tween(durationMillis = 500))

Spring per il rimbalzo

Sostituite la specifica con una spring per ottenere un movimento naturale basato sulla fisica. Regolate dampingRatio e stiffness per aggiungere un leggero rimbalzo giocoso.

animateDpAsState(target, animationSpec = spring(dampingRatio = 0.4f))

Reagisce allo stato

Non dovete mai chiamare start o stop. Quando il target value cambia durante la ricomposizione, l’animazione riparte automaticamente verso il nuovo obiettivo.

Morbido, non lineare

L’easing predefinito rende il movimento più naturale, accelerandolo e poi rallentandolo. Curve di Easing come FastOutSlowInEasing evitano un movimento robotico a velocità costante.

Ascoltare la fine dell’animazione

Dovete reagire al termine del movimento? Passate una lambda finishedListener, che viene eseguita una volta con il valore finale quando l’animazione si è stabilizzata.

animateDpAsState(target) { final -> /* done */ }

Verifica rapida

Quale specifica dà al movimento una sensazione naturale e rimbalzante, basata sulla fisica?

Riepilogo: un valore alla volta

Avete imparato a usare animate*AsState: cambiate un obiettivo, leggete lo State animato e scegliete tween o spring. È il modo più rapido per aggiungere un movimento fluido a un singolo valore. 🎉

Gratis per iniziare

Impara Kotlin con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «animate*AsState per interpolazioni semplici» è gratuita?

Sì — il testo completo di «animate*AsState per interpolazioni semplici» è 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 «animate*AsState per interpolazioni semplici»?

Animi automaticamente un singolo valore. 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 1 di 4.

Quanto tempo richiede la lezione «animate*AsState per interpolazioni semplici»?

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