8

Tôi có một đối tượng hoạt hình với chế độ lặp lại vô hạn. Tôi muốn đẩy nhanh nó chỉ lần đầu tiên nó bắt đầu ... không phải mỗi khi nó lặp lại chính nóInfinite ObjectAnimator với interpolator ... Làm thế nào để tăng tốc chỉ bắt đầu ban đầu?

Làm cách nào để đạt được điều này?

mã của tôi:

universeMovement1 = ObjectAnimator.ofFloat(universeImageView, "x", 0, sw); 
     universeMovement1.setDuration(UNIVERSE_MOVEMENT_TIME); 
     universeMovement1.setRepeatCount(ObjectAnimator.INFINITE); 
     universeMovement1.setRepeatMode(ObjectAnimator.RESTART); 
     universeMovement1.setInterpolator(new AccelerateInterpolator()); 

Trả lời

6

Thêm một người biết lắng nghe để hình ảnh động của bạn với các phương pháp onAnimationRepeat và thiết lập xen vào trở lại LinearInterpolator, hoặc bất cứ điều gì bạn muốn. Do đó khi nó lặp lại nó sẽ không tăng tốc nữa.

animation.addListener(new AnimatorListenerAdapter(){ 
     @Override 
     public void onAnimationRepeat(Animator animation) { 
      animation.setInterpolator(new LinearInterpolator()); 
     } 
    }); 
Các vấn đề liên quan