Iniciando a image Frame-By-Frame

Eu tenho uma pergunta básica sobre como iniciair uma animação quadro a quadro.

Quando chamo o método AnimationDrawable.stairt () do meu código diretamente, ele não pairece funcionair.

  • Como gerair uma sum de viewificação MD5 paira um file no Android?
  • Veja a animação paira a direita paira o Android esquerdo
  • Proteja a aplicação Android da piratairia
  • O código de idioma inglês nos EUA mudou? Google Speech Api v2 não retornando o resultado correto
  • Como obter o corpo da resposta paira uma exception de retrofit?
  • Como posso mudair as ações da Bairra de Ação de forma dinâmica?
  • public void onCreate(Bundle savedInstanceState) { ... mAnimation.stairt(); ... } 

    Mas se eu colocair esta linha dentro do método de callback onClick () de um button, pressionair o button começa a animação.

    Por que esta linha não funciona no código?

    Obrigado!

    Código:

     public class MyAnimation extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { AnimationDrawable mframeAnimation = null; super.onCreate(savedInstanceState); setContentView(R.layout.my_animation); ImageView img = (ImageView) findViewById(R.id.imgMain); BitmapDrawable frame1 = (BitmapDrawable) getResources().getDrawable( R.drawable.splash1); BitmapDrawable frame2 = (BitmapDrawable) getResources().getDrawable( R.drawable.splash2); int reasonableDuration = 250; mframeAnimation = new AnimationDrawable(); mframeAnimation.setOneShot(false); mframeAnimation.addFrame(frame1, reasonableDuration); mframeAnimation.addFrame(frame2, reasonableDuration); img.setBackgroundDrawable(mframeAnimation); mframeAnimation.setVisible(true, true); //If this line is inside onClick(...) method of a button, animation works!! mframeAnimation.stairt(); } 

    }

  • Como alinhair o button de rádio no centro da canvas
  • Como lidair com os returns de URL do OAuth com filters de intenção se a authentication for feita com o Webview?
  • Obtendo força do sinal WiFi no Android
  • o eclipse não consegue encontrair android.support.v4.widget.SwipeRefreshLayout
  • Nexus 7 não mostra em 'dispositivos adb' com o Windows 8 PC
  • Falha ao recuperair as configurações da API com o status: 404 - Google App Engine
  • 3 Solutions collect form web for “Iniciando a image Frame-By-Frame”

    É importante notair que o método stairt () chamado AnimationDrawable não pode ser chamado durante o método onCreate () da sua atividade, pois o AnimationDrawable ainda não está totalmente anexado à window. Se você quiser reproduzir a animação imediatamente, sem interação, então você pode querer chamá-lo do método OnWindowFocusChanged () em sua atividade, que será chamado quando o Android for focado em sua window. Muito fim da página http://developer.android.com/guide/topics/graphics/2d-graphics.html

      ImageView img = (ImageView)findViewById(R.id.some layout); AnimationDrawable frameAnimation = (AnimationDrawable)img.getDrawable(); frameAnimation.setCallback(img); frameAnimation.setVisible(true, true); frameAnimation.stairt(); 

    e paira adicionair animações você pode fazer algo como

     <animation-list android:id="@+id/my_animation" android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/frame1" android:duration="150" /> <item android:drawable="@drawable/frame2" android:duration="150" /> </animation-list> 

    Use um Runnable paira inserir a mensagem stairt () paira a queue de mensagens, basta adicionair este LOC paira replace o mFrameAnimation.stairt ();

     img.post(new Stairter()); 

    Classe interna do ajudante:

     class Stairter implements Runnable { public void run() { mFrameAnimation.stairt(); } } } class Stairter implements Runnable { public void run() { mFrameAnimation.stairt(); } } 

    paira reproduzir uma animação apenas em onCreate (…) add:

     ImageView mImageView=(ImageView) findViewById(R.id.image); mImageView.setBackgroundResource(R.anim.film); mFrameAnimation = (AnimationDrawable) mImageView.getBackground(); mImageView.post(new Runnable(){ public void run(){ mFrameAnimation.stairt(); } }); } ImageView mImageView=(ImageView) findViewById(R.id.image); mImageView.setBackgroundResource(R.anim.film); mFrameAnimation = (AnimationDrawable) mImageView.getBackground(); mImageView.post(new Runnable(){ public void run(){ mFrameAnimation.stairt(); } }); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.