我想知道如何在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()来解决这个问题...但是我想要一个更干净的方法(如果可能的话)。
答案 0 :(得分:1)
等于动画对象
@Override
public void onAnimationEnd(Animation animation) {
if (animation == animation1) {
dostuff();
}
if (animation == animation2) {
}
}