2012-07-08 11 views
6

I utilizando AnimationDrawable como esto: el trabajoAnimationDrawable no funcionan en Android 2.2

ImageView rocketImage = (ImageView) layout.findViewById(R.id.animation); 
rocketImage.setBackgroundResource(R.drawable.progress_blue_animation); 
rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); 
rocketAnimation.start(); 

Este código de Android 3.0/4.0/4.1/4.0, pero no funciona en Android 2.2. ¿Cómo resolver este problema?

Respuesta

17

Por lo que yo sé, eso es un Bug en 2.1, 2.2

Una posible solución podría ser:

ImageView rocketImage = (ImageView) layout.findViewById(R.id.animation); 
rocketImage.setBackgroundResource(R.drawable.progress_blue_animation); 
rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); 
rocketImage.post(new Runnable(){ 
    public void run(){ 
     rocketAnimation.start(); 
    } 
}); 

(Pero yo no lo probamos en Objetivos> 2.1)

+1

probado con Android 4.0, funciona bien y gracias. –

+2

Gracias, funciona como encanto. –

+3

Quiero mostrar una animación de carga con una ventana emergente. En realidad, funciona en 4.0, pero no se ejecuta en 2.3.3. Intenté muchas cosas, como usar otro hilo, un método de publicación, etc. Nada resolvió el problema. En 2.3.3 muestra solo la primera imagen. ¿Cómo podría resolver esto? –

0
view.post(new Runnable() { 
     public void run() { 
      anim.start(); 
     } 
    }); 
    view.startAnimation(anim); 

esto funciona para mí.

Cuestiones relacionadas