[英]Android run animation in loop with view.animate()
我想开始一个按钮的动画。 动画效果很好,但我希望动画会重复。 我怎样才能做到这一点? 我已经寻找了好几天的答案。 我的代码:
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Start the animation
v.animate().setDuration(200)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
}
})
// Rotate
.rotation(rotated ? 0f : 135f)
// Move up in first click, and down in second
.translationY(rotated ? 0f : -200f);
rotated = !rotated;
}
});
我可以“永远”重复这个动画吗?
ViewPropertyAnimator 主要用于良好的基本内容。 尝试使用更高级的ObjectAnimator
类,它基本上setRepeatCount
您的需求:方法setRepeatCount
和setRepeatMode
。
如果你仍然想使用view.animate()
你可以写一些这样的技巧:
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
repeatAnimation(v);
}
});
private void repeatAnimation(View v) {
// Start the animation
v.animate().setDuration(200)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
rotated = !rotated;
repeatAnimation(v);
}
})
// Rotate
.rotation(rotated ? 0f : 135f)
// Move up in first click, and down in second
.translationY(rotated ? 0f : -200f);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.