Сначала создайте ValueAnimator
private ValueAnimator valueAnimator = new ValueAnimator();
Затем установите слушатель для него:
private void setListener() {
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int firstAnimatedValue = (int) valueAnimator.getAnimatedValue("firstAnimatedValue");
int secondAnimatedValue = (int) valueAnimator.getAnimatedValue("secondAnimatedValue");
// update the properties here
}
});
}
Затем, чтобы запустить анимацию, установите значения следующим образом:
public void setAnimatedValues() {
valueAnimator.setValues(
new PropertyValuesHolder("firstAnimatedValue", fromValue1, toValue1),
new PropertyValuesHolder("secondAnimatedValue", fromValue2, fromValue2)
);
valueAnimator.start();
}
Когда вы запускаете аниматор, слушатель должен вызываться несколько раз с промежуточными значениями.