Java 动画完成后执行语句
我想做的是让ImageView在按下按钮时抖动,当动画结束时,ImageView中的图像消失 我希望先执行此语句:Java 动画完成后执行语句,java,android,animation,execute,Java,Android,Animation,Execute,我想做的是让ImageView在按下按钮时抖动,当动画结束时,ImageView中的图像消失 我希望先执行此语句: ObjectAnimator .ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0) .setDuration(300) .start(); 动画结束后,应执行以下语句: img
ObjectAnimator
.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0)
.setDuration(300)
.start();
动画结束后,应执行以下语句:
img.setImageResource(android.R.color.transparent);
我把它们一个接一个地放在一起,这样动画就不会结束,图片也就不见了 使用以下代码
ObjectAnimator.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0).addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
Log.e("Animation-Completed:", "onAnimationEnd");
img.setImageResource(android.R.color.transparent);
}
}).setDuration(300).start();
编辑:要添加持续时间:
ObjectAnimator anim = ObjectAnimator.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0);
anim.setDuration(300); // Duration in milliseconds
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
Log.e("Animation-Completed:", "onAnimationEnd");
img.setImageResource(android.R.color.transparent);
}
});
anim.start();
使用以下代码:
ObjectAnimator
.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0)
.setDuration(300)
.start()
.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
}
@Override
public void onAnimationEnd(Animator animator) {
img.setImageResource(android.R.color.transparent);
}
@Override
public void onAnimationCancel(Animator animator) {
}
@Override
public void onAnimationRepeat(Animator animator) {
}
});
我得到一个错误变量“img”是从内部类中访问的,需要声明为final。@Eddie只需遵循错误并在img变量声明之前添加final关键字,如下所示,final ImageView img=ImageView findviewbydr.id.some\u id;如果它声明为final,我还可以更改它的属性吗?我确实遇到了另一个错误。找不到符号“setDuration”