在AnimationListener中区分2个动画

时间:2016-10-23 17:17:58

标签: java android animation

我想知道如何在AnimationListener中区分具有相同持续时间的两个动画。我知道我可以宣布:

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

        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });

然后我可以对动画2做同样的事情,导致个别动画听众,但是我想要这样的东西(不完全是因为动画没有ID)介意onAnimationEnd

public class example implements Animation.AnimationListener{
@Override
public void onBackPressed() {
    if(detallesvis) {
        lldetalles.startAnimation(disappear);
    }
    else{
        finish();
    }
}

@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {
    if (animation.getId()==animation1.getId())/* please note that animation.getId() function doesn't exist, it is just an example */ {
        dostuff();
    }
    if (animation.getId()==animation2.getId()){
    }
}

@Override
public void onAnimationRepeat(Animation animation) {

}

}

我通过为每个动画设置不同的持续时间并比较animation.getduration()来解决这个问题...但是我想要一个更干净的方法(如果可能的话)。

1 个答案:

答案 0 :(得分:1)

等于动画对象

@Override
public void onAnimationEnd(Animation animation) {
    if (animation == animation1) {
        dostuff();
    }

    if (animation == animation2) {
    }
}