2014-09-12 1 views
1

Я пытаюсь сделать ProgressWheel, где цвет меняется, когда колесо заполняется (колесо начинает зеленеть на 0% и заканчивается красным на 100%, при этом все колесо становится красным в течение времени: не радуга). Так я использую ObjectAnimator, колесо взять цвет входа, но я не могу управлять, чтобы сделать его изменить цвет с течением времени ...ObjectAnimator on ProgressWheel от Todd-Davies

final ObjectAnimator animator = ObjectAnimator.ofInt(progressBar, "barColor", Color.GREEN, Color.RED); 
animator.setDuration(remainingTime); 
animator.setEvaluator(new ArgbEvaluator()); 
animator.setInterpolator(new DecelerateInterpolator(2)); 
animator.start(); 

Любая идея?

ответ

0

я, наконец, сделал это (это происходит из другого поста на StackOverflow):

final ObjectAnimator colorAnimator = ObjectAnimator.ofObject(progressBar, "barColor", new ArgbEvaluator(), green, red); 
colorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     @Override 
     public void onAnimationUpdate(ValueAnimator animation) { 
       progressBar.refreshWheel(); 
     } 
}); 
colorAnimator.setInterpolator(new DecelerateInterpolator());    
colorAnimator.setDuration(remainingTime); 
colorAnimator.start(); 

и ProgressWheel.java

public void refreshWheel() { 
    setupPaints(); 
} 
Смежные вопросы