Immagini vettoriali animate in Compose

L'animazione dei vettori in Compose è possibile 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)

Clessidra che anima i contenuti e ruota
Figura 1. Vettore animato drawable in Compose

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