Immagini vettoriali animate in Compose

L'animazione dei vettori in Compose è possibile in diversi modi. Puoi utilizzare una qualsiasi delle seguenti opzioni:

  • Formato file AnimatedVectorDrawable
  • ImageVector con le API di animazione Compose, come in questo articolo di Medium.
  • Una soluzione di terze parti come Lottie

Disegnabili vettoriali animati (sperimentale)

Clessidra che anima i suoi contenuti e ruota
Figura 1. Disegnabile di vettori animati in Compose

Per utilizzare una risorsa AnimatedVectorDrawable, carica il file disegnabile utilizzando animatedVectorResource e trasmetti boolean per passare dallo stato iniziale a quello di fine della risorsa, eseguendo l'animazione.

@Composable
fun AnimatedVectorDrawable() {
    val image = AnimatedImageVector.animatedVectorResource(R.drawable.ic_hourglass_animated)
    var atEnd by remember { mutableStateOf(false) }
    Image(
        painter = rememberAnimatedVectorPainter(image, atEnd),
        contentDescription = "Timer",
        modifier = Modifier.clickable {
            atEnd = !atEnd
        },
        contentScale = ContentScale.Crop
    )
}

Per ulteriori informazioni sul formato del file disegnabile, vedi Animazione grafica disegnabile.