Boucle AnimatorSet

J'ai fait un AnimatorSet de trois ObjectAnimator qui je veux le répéter, sequentally.

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:ordering="sequentially">

    <objectAnimator
        android:propertyName="rotation"
        android:duration="300"
        android:valueFrom="0"
        android:valueTo="5"
        android:valueType="floatType"/>

    <objectAnimator
        android:propertyName="rotation"
        android:duration="600"
        android:valueFrom="5"
        android:valueTo="-5"
        android:valueType="floatType"/>

    <objectAnimator
        android:propertyName="rotation"
        android:duration="300"
        android:valueFrom="-5"
        android:valueTo="0"
        android:valueType="floatType"/>

</set>

Mais si j'ai mis le CycleInterpolator à AnimatorSet parce que les Animateurs vont commencer sequentally

public void setInterpolator (TimeInterpolator interpolateur)
Ajout de l'API de niveau 11

Définit la TimeInterpolator pour tous les enfants des animations de ce AnimatorSet.

J'ai donc essayé en boucle par le redémarrage de AnimatorSet par la fixation d'un auditeur, mais il s'arrête quelques millisecondes et l'effet de la reprise des AnimatorSet est perceptible.

a.addListener(new AnimatorListenerAdapter() {
    @Override
    public void onAnimationEnd(Animator animation)
    {
        animation.start();
    }
});

Que puis-je faire pour faire une boucle (à l'exception de la construction d'une énorme liste de ObjectAnimators ou de l'écriture de mon propre animation à l'aide de Fil et Gestionnaire)?

OriginalL'auteur Yaroslav Mytkalyk | 2013-07-05