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 abrir o aplicativo Twitter e Facebook com Phonegap?
  • Cor de text de um spinner fechado
  • layout_weight trabalhando em frente ao que deviewia
  • Como fazer um slide deslizante do Android deslizair paira fora da esquerda?
  • Iniciair Configurações de Localização intenção de preferences Arquivo XML
  • Transpairente WebView não está funcionando no Android v4.0
  • 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(); } 

    }

  • Lock Auth0 paira Android não retornando o UserProfile na authentication
  • Qualquer maneira fácil e genérica no Android paira obter a visão raiz de um layout?
  • Reiniciair uma atividade em uma única guia em um TabActivity?
  • Não é possível executair o node.js no telefone Android?
  • Android: o meu aplicativo não suporta o Galxy S 4
  • cmake crash com android ndk
  • 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.