0

anim/ フォルダーに 2 つのアニメーションがあります。1 つはワン ショットで、もう 1 つはループです。

ワンショットが終わってからループ再生しようとしています。

AnimationSet を使用してみましたが、間違っています。

AnimationSet as = new AnimationSet(true);
Animation AnimFirst = AnimationUtils.loadAnimation(null, R.anim.oneshot);
Animation AnimSecond = AnimationUtils.loadAnimation(null, R.anim.loop);
as.addAnimation(AnimFirst);
as.addAnimation(AnimSecond);

ImageView image1 = (ImageView) findViewById(R.id.image1);
image1.startAnimation(as);
4

1 に答える 1

2

AnimationListener最初のアニメーションが終了したら、2 番目のアニメーションを実行します。何かのようなもの。-

Animation animFirst = AnimationUtils.loadAnimation(null, R.anim.oneshot);
Animation animSecond = AnimationUtils.loadAnimation(null, R.anim.loop);

final ImageView image1 = (ImageView) findViewById(R.id.image1);

animFirst.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        image1.startAnimation(animSecond);
    }
});

image1.startAnimation(animFirst);

このように、アニメーションのセットを順番にではなく同時に再生することになっているAnimationSetは本当に必要ありません。

于 2013-09-10T23:04:05.683 に答える