AnimationDrawable en el problema de Android

Tengo un problema común haciendo animationdrawable en Android. Yo quería iniciar una animación cuando se inicia la Actividad, en el método onCreate (), pero como mucha gente ha encontrado, no funciona.

He leído un montón de consejos, pero nada parece funcionar para mí. Si comienzo la animación en onClick () funciona, requiere la entrada del usuario, no comenzar inmediatamente.

He intentado iniciarlo en un hilo separado en onCreate (), pero que no funciona bien. He leído aquí:

Http://code.google.com/p/android/issues/detail?id=1818

Pero ninguno de los consejos funcionó, o no pude entenderlo.

¿Puede alguien ayudar?

He enfrentado problemas similares, y cambiado a sobreescribir onWindowFocusChanged () en lugar de onCreate () y onResume ():

public void onWindowFocusChanged(boolean hasFocus) { if (hasFocus) { animation.start(); } else { animation.stop(); } } 

Creo que tienes que iniciar la animación después de la inicialización de la vista en cuestión es completa. Usted debe ser capaz de hacer algo como esto:

 final ImageView tweenImage = (ImageView) findViewById(R.id.imageView1); tweenImage.setBackgroundResource(R.anim.cubicfacetween); tweenImage.post(new Runnable() { @Override public void run() { AnimationDrawable frameAnimation = (AnimationDrawable) tweenImage.getBackground(); frameAnimation.start(); } } 

Para configurar src en imageView

 ((ImageView)findViewById(R.id.no_network_icon)).post(new Runnable() { @Override public void run() { AnimationDrawable drawable = (AnimationDrawable) ((ImageView)findViewById(R.id.no_network_icon)).getDrawable(); drawable.start(); } }); 

De acuerdo con el enlace que proporcionó tiene que iniciar la animación en un hilo separado. En Java lo haces mediante la implementación de la interfaz Runnable y comienza con

 Thread t = new Thread(new MyRunnable()); // MyRunnable inherits Runnable t.start(); 

Usted puede también escribir el código como esto

 new Thread(new Runnable() { public void run(){ // some code that runs outside the ui thread. } }).start(); 

Si no desea implementar una clase completamente nueva. Este último, por supuesto, no es tan bonito, pero si usted está haciendo un pequeño proyecto que puede ser bueno saber.

¿Lo has probado de esta manera o has empezado tu hilo de otra manera?

Por favor, lea también Thread sin dolor que pasa por las posibilidades que tiene para realizar acciones fuera del hilo ui y cómo publicar métodos que se ejecuta en el hilo ui de sus propios hilos.


Editar: Después de revisar el enlace que publicó, tiene que esperar un poco antes de iniciar el subproceso, probablemente hasta que onCreate esté completo. De acuerdo con el diagrama de flujo en esta página , debería ser capaz de iniciar su animación más adelante, por ejemplo en la llamada onResume. ¿Ha intentado iniciarlo en un método llamado después de onCreate?

Sólo debe crear las cosas en onCreate, y "iniciar" en onStart o onResume.

  • Animación interactiva para Android
  • ListView de Android Actualizar animación
  • La animación de vista de Android se detiene al salir de la pantalla
  • Transición de elemento compartido entre fragmentos que pertenecen a diferentes actividades en Android lollipop
  • Cambiar actividades sin animación
  • ¿Cómo puedo eliminar el retraso antes de una animación LayoutTransition
  • Animación de la vista de un niño fuera del padre
  • Desactivar la animación de desplazamiento de ViewPager
  • Widgets de Android: Animaciones en RemoteViews?
  • Android TranslateAnimación restablece después de la animación
  • ¿Cómo puedo hacer una animación de log de introducción como la aplicación de skype?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.