我有一个具有无限重复模式的对象动画师。我想只在它第一次启动时加速它...而不是每次重复它
如何实现这一目标?
我的代码:
universeMovement1 = ObjectAnimator.ofFloat(universeImageView, "x", 0, sw);
universeMovement1.setDuration(UNIVERSE_MOVEMENT_TIME);
universeMovement1.setRepeatCount(ObjectAnimator.INFINITE);
universeMovement1.setRepeatMode(ObjectAnimator.RESTART);
universeMovement1.setInterpolator(new AccelerateInterpolator());
答案 0 :(得分:8)
使用onAnimationRepeat方法为动画添加一个侦听器,并将插值器设置回LinearInterpolator,或任何你想要的。因此,当它重复时,它将不再加速。
animation.addListener(new AnimatorListenerAdapter(){
@Override
public void onAnimationRepeat(Animator animation) {
animation.setInterpolator(new LinearInterpolator());
}
});
答案 1 :(得分:0)
使用此:
objectAnimator.setInterpolator(new LinearInterpolator());