3

2つの画像のアクティビティで2つのアニメーションを作成し、2つの条件で作成したい:
1。アクティビティがページに読み込まれた後にアニメーションを開始したいので、アニメーションコードを下に置く代わりに下にonCreate置きますonResumeそれは大丈夫ですか?それを行うためのより良い方法はありますか?

2.最初のアニメーションが終了した後にのみ2番目のアニメーションを開始したい...

ありがとう

4

3 に答える 3

1

Animation.AnimationListnerを使用する必要があります。アニメーションが完了したときにコールバックを取得する最初のアニメーションに設定できます。そのコールバック内に、2 番目のアニメーションを開始するコードを追加できます。

于 2012-05-06T19:22:58.430 に答える
1

コーディングする API レベルに応じて、AnimationSetまたはを使用できますAnimatorSetViewまた、またはそのサブクラスの 1 つを拡張している場合はView.onAnimationStart()、 andをオーバーライドできますView.onAnimationFinish()。または、Tim が言及しているリスナーを使用します。

于 2012-05-06T19:25:48.623 に答える
0
        public class SplashActivity extends Activity{

        Animation FadeInanimation, FadeOutanimation;
        ImageView img;

        @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                img= (ImageView) findViewById(R.id.img);
                //Your Code Block....

                FadeInanimation = AnimationUtils.loadAnimation(this,R.anim.image_fadein);
                //FadeInanimation.setRepeatCount(Animation.INFINITE);
                //FadeInanimation.setRepeatMode(Animation.RESTART);
                FadeInanimation.setAnimationListener(FadeInAnimationListener);

                FadeOutanimation = AnimationUtils.loadAnimation(this,R.anim.image_fadeout);
                //FadeOutanimation.setRepeatCount(Animation.INFINITE);
                //FadeOutanimation.setRepeatMode(Animation.RESTART);
                FadeOutanimation.setAnimationListener(fadeOutAnimationListener);

                img.startAnimation(FadeInanimation);
            }
    AnimationListener FadeInAnimationListener = new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                plane.startAnimation(FadeOutanimation);
            }
        };
    }
于 2012-05-06T19:25:58.017 に答える