Um guia completo para animações do Android

As animações do Android permitem adicionar efeitos visuais, transições e movimentos aos elementos do seu aplicativo, criando uma experiência de usuário mais dinâmica e interativa.

Neste artigo, exploraremos o mundo das animações do Android e como você pode usá-las para aprimorar a interface do seu aplicativo e torná-lo mais atraente para seus usuários.



Tipos de animações do Android

Para implementar animações no Android, você pode usar a API Android Animation.

A API de animação fornece diferentes tipos de animações que você pode usar para criar diferentes tipos de animações do Android.

Você também pode usar bibliotecas externas como Lottie , que fornece animações pré-construídas que você pode integrar facilmente em seu aplicativo.

Aqui estão alguns dos tipos de animação Android mais usados:

Animações Visão geral
Animações de propriedade Essas animações permitem animar as propriedades de um objeto, como alfa (transparência), escala, rotação e translação (movimento). As animações de propriedade são versáteis e podem ser aplicadas a qualquer View ou ViewGroup em seu aplicativo.
Ver animações As animações de exibição são mais simples de usar e normalmente são aplicadas a exibições individuais. Eles incluem animações como animações alfa (fading in ou out), animações de escala (redimensionamento), animações de rotação (girar) e animações de tradução (mover).
Transições As transições são usadas para animar as mudanças entre os diferentes estados dos elementos da interface do usuário. Eles geralmente são usados ​​para transições de tela, como esmaecimento, deslizamento ou dimensionamento entre fragmentos ou atividades. A estrutura de transição no Android fornece várias animações de transição integradas.
Drawables vetoriais Drawables vetoriais animados são usados ​​para animar gráficos vetoriais, que são gráficos escaláveis ​​e independentes de resolução. Você pode definir drawables vetoriais em arquivos XML e animá-los usando a classe AnimatedVectorDrawable, permitindo animações suaves e escaláveis.
Animações quadro a quadro As animações quadro a quadro envolvem a exibição de uma sequência de imagens em rápida sucessão para criar a ilusão de movimento. Essas animações são comumente usadas para animações simples ou para exibir animações curtas como GIFs.
Animações baseadas em física Animações baseadas em física simulam princípios físicos do mundo real, como gravidade, fricção e colisões, para criar animações realistas. Essas animações são ideais para criar experiências de usuário interativas e envolventes em jogos ou simulações.
Animações onduladas As animações onduladas são usadas para fornecer feedback visual quando um usuário interage com um elemento de interface do usuário clicável, como um botão ou um item de lista. Essas animações criam um efeito cascata que emana do ponto de contato, fornecendo dicas visuais ao usuário.
Transições Animadas As transições animadas envolvem animar a tela inteira ou parte da tela durante uma transição, como entre atividades ou fragmentos. Essas animações podem incluir transições complexas, como transições de elementos compartilhados, em que uma View ou ViewGroup é animada entre duas telas para criar uma transição suave e visualmente atraente.

Animações de propriedade

As animações de propriedade são usadas para animar as propriedades de um objeto, como sua posição, rotação e escala. Essas animações permitem movimentos mais fluidos e naturais.

Aqui está um exemplo de como criar uma animação de propriedade que gira uma imagem:

// Find the image
ImageView image = findViewById(R.id.image);

// Create the animation
ObjectAnimator animation = ObjectAnimator.ofFloat(image, "rotation", 0f, 360f);
animation.setDuration(1000);
animation.setRepeatCount(ObjectAnimator.INFINITE);

// Start the animation
animation.start();

Visualização de animação do Android

View Animation permite animar a aparência de um objeto View.

Aqui está um exemplo de como criar uma View Animation que esmaece um TextView dentro e fora:

// Find the text view
TextView text = findViewById(R.id.text);

// Create the animation
Animation animation = AnimationUtils.loadAnimation(context, R.anim.fade);

// Apply the animation
text.startAnimation(animation);

Aqui está o arquivo XML de animação de fade que define a animação:

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />

Animações desenháveis ​​do Android

As animações desenháveis ​​são semelhantes às animações de quadro, mas em vez de exibir uma série de imagens, elas animam as propriedades de um desenhável.

Aqui está um exemplo de como criar uma animação drawable que anima uma sequência de drawables:

// Load the ImageView
ImageView imageView = findViewById(R.id.imageView);

// Load the animation drawable
AnimationDrawable animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.drawable1), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.drawable2), 1000);
animation.addFrame(getResources().getDrawable(R.drawable.drawable3), 1000);

// Set the duration and repeat count
animation.setOneShot(false);

// Set the animation drawable to the ImageView
imageView.setImageDrawable(animation);

// Start the animation
animation.start();

Animações quadro a quadro

As animações de quadro são usadas para criar animações simples exibindo uma série de imagens em rápida sucessão.

Aqui está um exemplo de como criar uma animação de quadro que exibe uma série de imagens:

// Find the image view
ImageView image = findViewById(R.id.image);

// Load the animation
AnimationDrawable animation = (AnimationDrawable) image.getDrawable();

// Start the animation
animation.start();

Aqui está um exemplo de como definir a animação em XML:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/image1" android:duration="100" />
<item android:drawable="@drawable/image2" android:duration="100" />
<item android:drawable="@drawable/image3" android:duration="100" />
</animation-list>

Animação entre Android

Tween Animation é usado para realizar uma transformação em uma View ou um objeto no Android.

Ele move ou altera a aparência de um objeto de uma posição para outra, como mover um botão de um local para outro na tela.

Aqui está um exemplo de como criar uma animação Tween que move um botão da esquerda para a direita:

// Load the animation
Animation animation = AnimationUtils.loadAnimation(context, R.anim.move_right);

// Find the button and apply the animation
Button button = findViewById(R.id.button);
button.startAnimation(animation);

Aqui está o arquivo XML de animação move_right que define a animação:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="-100%p"
android:toXDelta="0%p" />

Funções de animação do Android

A classe Animation no Android oferece inúmeras funções que permitem aos desenvolvedores gerenciar e controlar vários aspectos das animações.

Abaixo estão algumas funções frequentemente usadas da classe Animation:

Funções Visão geral
setDuration(int duração) Define a duração da animação em milissegundos.
setInterpolator(Interpolador interpolador) Define o interpolador para a animação. Um interpolador define a taxa de mudança de uma animação ao longo do tempo.
setRepeatCount(int repeatCount) Define o número de vezes que a animação deve ser repetida. O valor padrão é 0, o que significa que a animação será executada apenas uma vez.
setStartOffset(int startOffset) Define o atraso antes do início da animação, em milissegundos.
setFillAfter(boolean fillAfter) Especifica se a animação deve aplicar sua transformação após o término.
setRepeatMode(int repeatMode) Define o comportamento da animação quando ela se repete. As opções são RESTART, que reinicia a animação desde o início, e REVERSE, que inverte a animação a cada repetição.
setAnimationListener(ouvinte do AnimationListener) Define um ouvinte para ser notificado quando a animação começa, termina ou se repete.
começar() Inicia a animação.
cancelar() Cancela a animação.
reiniciar() Redefine a animação para seu estado inicial.
getDuration() Retorna a duração da animação.
getInterpolator() Retorna o interpolador para a animação.
getRepeatCount() Retorna o número de vezes que a animação será repetida.
getStartOffset() Retorna o atraso antes do início da animação.
getRepeatMode() Retorna o modo de repetição da animação.
começou() Retorna true se a animação foi iniciada.
terminou() Retorna true se a animação terminou.

Conclusão

As animações são uma ferramenta poderosa que pode melhorar muito a experiência do usuário do seu Androidaplicativo. Ao adicionar apelo visual, fornecer feedback do usuário, aumentar o envolvimento, orientar os usuários e estabelecer a marca do seu aplicativo, as animações podem criar uma interface de usuário mais dinâmica e interativa. Com a variedade de tipos de animação disponíveis no Android, como animações de propriedade, animações de visualização, transições e desenháveis ​​vetoriais animados, você tem a flexibilidade de criar animações envolventes e visualmente atraentes que elevam a qualidade do seu aplicativo. Seguindo as práticas recomendadas, otimizando o desempenho e considerando a acessibilidade, você pode criar animações que encantam seus usuários e destacam seu aplicativo. Então, vá em frente e adicione vida ao seu aplicativo com animações Android e crie uma experiência de usuário mais envolvente e agradável. Animação feliz!

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone