AnimationDrawable don't work in Android 2.2

2019-01-24 14:07发布

问题:

I using AnimationDrawable like this:

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

This code work in Android 3.0/4.0/4.1/4.0, but don't work in Android 2.2. How to solve this problem?

回答1:

As far as i know, thats a Bug in 2.1, 2.2

A possible workaround could be:

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

(But i didn't try it in Targets >2.1)



回答2:

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

this works for me.