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 に答える