Imagens vetoriais animadas no Compose

É possível animar vetores no Compose de algumas maneiras diferentes. Você pode usar qualquer uma destas opções:

  • Formato de arquivo AnimatedVectorDrawable
  • ImageVector com APIs de animação do Compose, como neste artigo do Medium.
  • Uma solução de terceiros, como o Lottie

Drawables vetoriais animados (experimental)

Amostra de uma ampulheta que anima o conteúdo e gira.
Figura 1. Drawable vetorial animado no Compose

Para usar um recurso AnimatedVectorDrawable, carregue o arquivo drawable usando animatedVectorResource e transmita um boolean para alternar entre o estado inicial e final do drawable, realizando a animação.

@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
    )
}

Para ver mais informações sobre o formato do arquivo drawable, consulte Animar gráficos drawable.