2

How to delete the animation on Android?

 2 years ago
source link: https://www.codesd.com/item/how-to-delete-the-animation-on-android.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

How to delete the animation on Android?

advertisements

In my android app I am making a button shake using this code

public void FlashButton() {

    final Button button = ((Button)findViewById(R.id.button_message));
    final Animation moveright = AnimationUtils.loadAnimation(this, R.anim.moveright);
    final Animation moveleft = AnimationUtils.loadAnimation(this, R.anim.moveleft);
    final Animation moveright2 = AnimationUtils.loadAnimation(this, R.anim.moveright2);

    AnimationListener animation1Listener = new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {}
        @Override
        public void onAnimationRepeat(Animation animation) {}
        @Override
        public void onAnimationEnd(Animation animation) {
             button.startAnimation(moveleft);
        }
    };
    AnimationListener animation2Listener = new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {}
        @Override
        public void onAnimationRepeat(Animation animation) {}
        @Override
        public void onAnimationEnd(Animation animation) {
             button.startAnimation(moveright2);
        }
    };
    AnimationListener animation3Listener = new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {}
        @Override
        public void onAnimationRepeat(Animation animation) {}
        @Override
        public void onAnimationEnd(Animation animation) {
             button.startAnimation(moveright);
        }
    };

    moveright.setAnimationListener(animation1Listener);
    moveleft.setAnimationListener(animation2Listener);
    moveright2.setAnimationListener(animation3Listener);

    button.startAnimation(moveright);
}

This code sets three animations sequentially in a loop forever.

But how do I stop the animation, and make the button normal again?

I tried .clearAnimation(); but it didn't work...

Does anyone know?

Thanks.


Try cancelling the animations and see, something like

 moveright.cancel();
 moveright2.cancel();
 moveleft.cancel();

Or try reset as well

 moveright.reset();

similar for others


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK