O diagrama abaixo ajuda você a decidir qual API usar ao implementar sua animação.
Siga as perguntas da árvore de decisão abaixo para escolher qual API de animação é a mais adequada para seu caso de uso:
- Minha animação é mais parecida com arte e consiste em muitos elementos visuais? Por exemplo, SVGs ou imagens.
- Sim: ele tem SVGs simples? Por exemplo, um ícone com microanimações.
- Sim:
AnimatedVectorDrawable
- Não: framework de animação de terceiros, ou seja,
Lottie
- Sim:
- Não. Ele precisa se repetir indefinidamente?
- Sim:
rememberInfiniteTransition
- Não. Isso é uma animação de layout?
- Sim: alternar entre vários elementos combináveis que têm conteúdo diferente?
- Sim: com Navigation-compose?
- Sim:
composable()
comenterTransition
eexitTransition
definidos - Não:
AnimatedContent
,Crossfade
ouPager
- Sim:
- Não. Animar aparecimento / desaparecimento?
- Sim:
AnimatedVisibility
ouanimateFloatAsState
comModifier.alpha()
- Não: o tamanho está animado?
- Sim:
Modifier.animateContentSize
- Não: outra propriedade de layout? Ou seja, deslocamento, padding etc.
- Sim: consulte "As propriedades são completamente independentes umas das outras?"
- Não: animações de itens da lista?
- Sim:
animateItemPlacement()
(reordenar e excluir em breve)
- Sim:
- Sim:
- Sim:
- Sim: com Navigation-compose?
- Não. Você precisa animar várias propriedades?
- Sim: as propriedades são completamente independentes umas das outras?
- Sim:
animate*AsState
, para texto, useTextMotion.Animated
- Não: começar no mesmo horário?
- Sim:
updateTransition
comAnimatedVisibility
,animateFloat
,animateInt
etc. - Não:
Animatable
comanimateTo
é chamado com tempos diferentes (usando funções de suspensão)
- Sim:
- Sim:
- Não: a animação tem um conjunto de valores desejados predefinidos?
- Sim:
animate*AsState
, para texto, useTextMotion.Animated
- Não: animação orientada por gestos? Sua animação é a única fonte da verdade?
- Sim:
Animatable
comanimateTo
/snapTo
- Não. Animação de uma tomada sem gerenciamento de estado?
- Sim:
AnimationState
ouanimate
- Não: a resposta não está aqui? Enviar uma solicitação de recurso
- Sim:
- Sim:
- Sim:
- Sim: as propriedades são completamente independentes umas das outras?
- Sim: alternar entre vários elementos combináveis que têm conteúdo diferente?
- Sim:
- Sim: ele tem SVGs simples? Por exemplo, um ícone com microanimações.
Faça o download da versão em PDF do diagrama.