Imagens vetoriais animadas no Compose

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

  • Formato de arquivo AnimatedVectorDrawable
  • ImageVector com APIs de animação do Compose, como neste artigo do Medium (link em inglês).
  • Uma solução de terceiros, como a Lottie

Drawables vetoriais animados (experimental)

Ampulheta animando o conteúdo e girando
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.