2012-07-08 12 views
6

I używając AnimationDrawable tak: pracaAnimationDrawable nie działają w Android 2.2

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

ten kod w Android 3.0/4.0/4.1/4.0, ale nie działa na Androidzie 2.2. Jak rozwiązać ten problem?

Odpowiedz

17

O ile wiem, thats Bug w 2.1, 2.2

Możliwe obejście może być:

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(); 
    } 
}); 

(ale ja nie spróbować w Targets> 2.1)

+1

testowane z systemem Android 4.0, działa dobrze i dzięki. –

+2

Dzięki, działa jak urok. –

+3

Chcę wyświetlić animację ładowania za pomocą wyskakującego okienka. Właściwie działa na 4.0, jednak nie działa w 2.3.3. Próbowałem wielu rzeczy, takich jak używanie innego wątku, metody post, itp. Nic nie rozwiązało problemu. W 2.3.3 pokazuje tylko pierwszy obraz. Jak rozwiązać ten problem? –

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

to działa dla mnie.

Powiązane problemy