choop
choop

Reputation: 921

Two animations one after another

I want to make 2 animation on activity for 2 images, and I want to do it with 2 conditions:
1. I want to start the animation after the activity finished to load to page, so instead of putting animation code under onCreate i put it under onResume is that OK? There is a better way to do it?

2. I want the second animation will start only after the first animation is finished...

Thanks

Upvotes: 3

Views: 1044

Answers (3)

Deval Patel
Deval Patel

Reputation: 780

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

Upvotes: 0

techi.services
techi.services

Reputation: 8533

Depending on the API level you are coding for you can use AnimationSet or AnimatorSet. Also if you are extending View or one of its subclasses you can override View.onAnimationStart() and View.onAnimationFinish(). Or use the listener Tim mentions.

Upvotes: 1

FoamyGuy
FoamyGuy

Reputation: 46856

You'll want to use an Animation.AnimationListner You can set one on your first animation that will get a callback when the animation is complete. Inside that callback you can add the code that will start the second animation.

Upvotes: 1

Related Questions