Immagini vettoriali animate in Compose

È possibile animare i vettori in Compose in diversi modi. Puoi utilizzare una 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

Drawable vettoriali animati (sperimentale)

Sabbiario che anima i contenuti e ruota
Figura 1. Drawable vettoriale animato in Compose

Per utilizzare una risorsa AnimatedVectorDrawable, carica il file drawable utilizzando animatedVectorResource e passa un boolean per passare dallo stato iniziale a quello finale del drawable, 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 drawable, vedi Animare le immagini drawable.