Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Efeito de Botão piscando com animation não funciona

Sim, você tem que startar a animation depois que a tela já estiver pronta.

Como você usou o handler?
Experimenta enviar uma mensagem com atraso. (sendMessageDelayed)



Thiago


2012/2/23 Márcio Oliveira <prof.mro@gmail.com>
Galera,

Estou com um problema bizarro, preciso fazer um botão piscar, ou seja,
mudar a imagem de background de uma para outra repetidamente a cada 1
seg por exemplo.
Pesquisando na developer, achei a tal de animation, muito util se
funcionasse bem. O código é bem simples:

       public void blinkMidButton(View v)
       {
               btn_mid.setBackgroundResource(R.drawable.blink_button);
               btnAnim = (AnimationDrawable) btn_mid.getBackground();
               btnAnim.start();
       }

O drawable ali é bem simples

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
   android:oneshot="false">
   <item android:drawable="@drawable/button_menu_red" android:duration="500" />
   <item android:drawable="@drawable/button_menu_green"
android:duration="500" />
</animation-list>

onde as imagens sao button_menu_red, e button_menu_green, bem parecido
com o que vc vai achar no developer no link abaixo.

http://developer.android.com/guide/topics/graphics/drawable-animation.html

O problema bizarro é o seguinte, eu preciso abrir uma tela com o botão
já piscando a partir de uma condição que não vem ao caso, mas se eu
chamar a função acima nas funções OnCreate, ou onStart, a porcaria do
botão não pisca, mas se eu fizer como no site do developer, associar a
função acima com algum evento do botão, tipo onClick, onLongClick,
etc, a botão pisca.

Algum guru poderia me dizer porque isto ocorre? Será que estou
chamando esta função antes do botão estar pronto para rodar uma
animação? Alguém teria uma outra idéia? Já criei timer para chamar
depois, ja criei Thread, Handler, tudo que possa imaginar e ainda não
funcionou, até já tentei chamar a função do botão performClick para
simular um clique, mas nada funciona.
Se puderem me ajudar ...

Sds,

Márcio Oliveira



--
Thiago Rosa

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário