Criando uma animação com um Temporizador no Android

Sejam bem vindos a mais um tutorial sobre programação para android.
Desta vez vamos criar uma animação bem simples. Uma imagem se movendo pela tela e um círculo aumentando.
Simples e básico. Apenas para dar uma noção de como criar animações.
Para começar vamos desenhar uma imagem ‘.png’ (com transparencia) na tela (canvas).

Criando uma animação com um Temporizador no Android

Criando uma animação com um Temporizador no Android

Criando uma animação com um Temporizador no Android

Vamos aos códigos!
O código inicial é:

Vamos extender a classe ‘View’ como fizemos no outro tutorial

Já temos um círculo verde desenhado no meio da tela !

Agora vamos desenhar uma imagem ‘.png’ transparente.
Para isso coloque essa imagem na pasta ‘res/drawable’ (ou nas pastas…)
Nesse tutorial vou usar a imagem ‘ic_launcher.png’ que já está na pasta, mas você pode usar outra imagem se quiser.

Para poder desenhar essa imagem no canvas agente precisa de uma variavel tipo Bitmap:

Eu declarei como atributo da classe principal…
Preciso importar:

No onCreate eu inicializei a variavel

e na onDraw eu chamei o metodo para desenhar:

Já podemos executar (como mostrado no outro tutorial)
O resultado é bem simples… sem animação por enquanto… apenas duas porcarias desenhadas na tela…

Mas vamos dar uma melhorada !

Vamos fazer os objetos se moverem na tela !!!

Para isso vamos usar os pacotes ‘Timer’ e ‘TimerTask’
Eu conheci esses pacotes quando comecei a programar em java (antes do android)… Quando quis fazer o jogo da cobrinha.

Com esses pacotes agente pode chamar o método ‘schedule’ que nos permite executar uma função de tempos em tempos.
Recomendo que procure sobre essa função no google !

Então agente poderia chamar o ‘onDraw’ no método ‘shedule’…
Mas não é tão simples assim.
Para chamar o ‘onDraw’ precisamos chamar ‘invalidate()’ (como visto no outro tutorial)

E, nesse caso, para chamar a ‘invalidate’ de tempos em tempos, precisamos de um:

É meio complicado, fica mais ou menos assim:

Na ‘onCreate’ agente chama a ‘schedule’
que de 10 em 10 milissegundos aumenta o valor da variavel x
(que aumenta o raio do círculo e a posição da imagem)
e chama o ‘Runnable’ que pode chamar o ‘onDraw’
(que redesenha na tela)

É uma animação simples… apenas para mostrar um método de animar programaticamente atravez de um ‘temporizador’.

Espero que esse tutorial sirva como base para o aprendizado e para a construção de animações melhores e mais elaboradas.

Qualquer dúvida pode me mandar um e-mail: [email protected]

Criando uma animação com um Temporizador no Android
5 (100%) 1 vote