我有3个图像视图,其中我开始了相同的动画(翻译)
我有动画监听器,在onAnimationEnd(动画动画)方法中,
我想知道动画结束的图像视图..?
从动画对象中我怎么知道它是从哪个开始的??
提前致谢..!
答案 0 :(得分:33)
嗯,你不知道动画结束的对象是什么。 AnimationListener的整个目的是监听动画而不是对象。
<强>解决方案强>
1 - 创建您自己的动画类,并在其中保存对动画对象的引用。
这将允许您在函数onAnimationEnd
中将动画转换为YourAnimation并获取参考。
2 - 更简单的解决方案是创建自己的AnimationListener,其中包含动画对象的引用。
例如:
public class MyAnimationListener implements AnimationListener {
ImageView view;
public void setImage(ImageView view) {
this.view = view;
}
public void onAnimationEnd(Animation animation) {
// Do whatever you want
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationStart(Animation animation) {
}
}
因此,当您想要为ImageView设置动画时:执行以下操作:
MyAnimationListener listener = new MyAnimationListener();
listener.setImage(myImage);
myAnimation.setAnimationListener(listener);