我要做的是按下按钮时ImageView
摇动,动画结束后,ImageView
的图像消失。
我希望首先执行此语句:
ObjectAnimator
.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0)
.setDuration(300)
.start();
并且在动画结束后,此语句应该执行:
img.setImageResource(android.R.color.transparent);
我有一个接一个的,所以动画没有结束图片消失。
答案 0 :(得分:1)
使用以下代码
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();
答案 1 :(得分:0)
使用以下代码:
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) {
}
});