Android ValueAnimator


Exemple

ValueAnimator introduit un moyen simple d’animer une valeur (d’un type particulier, par exemple int , float , etc.).

La manière habituelle de l'utiliser est:

  1. Créez un ValueAnimator qui animera une valeur de min à max
  2. Ajoutez un UpdateListener dans lequel vous utiliserez la valeur animée calculée (que vous pouvez obtenir avec getAnimatedValue() )

Vous pouvez créer le ValueAnimator deux manières:

(l'exemple de code anime un float de 20f à 40f en 250ms )

  1. De xml (mettez le dans /res/animator/ ):
<animator xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:valueFrom="20"
    android:valueTo="40"
    android:valueType="floatType"/>
ValueAnimator animator = (ValueAnimator) AnimatorInflater.loadAnimator(context, 
        R.animator.example_animator);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator anim) {
        // ... use the anim.getAnimatedValue()
    }
});
// set all the other animation-related stuff you want (interpolator etc.)
animator.start();
  1. Du code:
ValueAnimator animator = ValueAnimator.ofFloat(20f, 40f);
animator.setDuration(250);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator anim) {
        // use the anim.getAnimatedValue()
    }
});
// set all the other animation-related stuff you want (interpolator etc.)
animator.start();