0

2 つの画像に対して 2 つのアニメーションを作成しましたが、正常に動作していますが、最初のアニメーションが終了したときに 2 番目のアニメーションを開始したいと考えています。

コード:

package com.example.animatest;

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;

public class animation001 extends Activity {

    private ImageView image1;
    private ImageView image2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image1 = (ImageView) findViewById(R.id.imageView1);
        image2 = (ImageView) findViewById(R.id.imageView2);

        final Animation animTranslate1 = AnimationUtils.loadAnimation(this,
                R.anim.translate);
        final Animation animTranslate2 = AnimationUtils.loadAnimation(this,
                R.anim.translate2);

        image1.startAnimation(animTranslate1);
        image2.startAnimation(animTranslate2);

    }

}

これは最初のアニメーションxmlです

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator">
    <translate
        android:fromXDelta="-100%p"
        android:toXDelta="0"
        android:duration="1500"
        android:repeatCount="0"
        android:repeatMode="reverse" />
</set>

これは2番目のアニメーションxmlです

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator">
    <translate
        android:fromYDelta="-100%p"
        android:toYDelta="0"
        android:duration="25000"
        android:repeatCount="0"
        android:repeatMode="reverse" />
</set>
4

2 に答える 2

5

あなたはこのようにそれを行うことができます & それは私にとってはうまくいきます.

AnimationListenerあなたのアクティビティに実装するだけです

public class animation001 extends Activity implements AnimationListener {
    .........
}

Animationを実装するためのより良い方法に役立つこのチュートリアルに従ってください。

于 2013-01-16T20:14:13.837 に答える
1
  1. を作成しAnimationListenerて実装しpublic void onAnimationEnd(Animation animation)ます。
  2. AnimationListenerこれを最初のアニメーションに設定しますAnimation.setAnimationListener()
  3. で2番目のアニメーションを開始しますAnimationListener.onAnimationEnd()
于 2013-01-16T20:12:50.260 に答える