6

我像这样使用 AnimationDrawable:

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

此代码适用于 Android 3.0/4.0/4.1/4.0,但不适用于 Android 2.2。如何解决这个问题呢?

4

2 回答 2

17

据我所知,这是2.1、2.2 中的错误

一个可能的解决方法可能是:

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

(但我没有在 Targets >2.1 中尝试过)

于 2012-07-08T17:23:50.400 回答
0
view.post(new Runnable() {
        public void run() {
            anim.start();
       }
    });
    view.startAnimation(anim);

这对我有用。

于 2014-04-07T10:25:48.153 回答