FlingAnimation flingAnimation = new FlingAnimation(pieView, FlingAnimation.ROTATION);
flingAnimation.addUpdateListener(new DynamicAnimation.OnAnimationUpdateListener(){
@Override
public void onAnimationUpdate(DynamicAnimation animation, float value, float velocity) {
if(velocity < 50f && !animationStarted){
flingAnimation.cancel();
autoCenterObjectAnimator.start();
animationStarted = true;
}
}
});
flingAnimation.setFriction(0.3f);
flingAnimation.setStartVelocity(100);
flingAnimation.setStartValue(500);
flingAnimation.setMinValue(Integer.MIN_VALUE);
flingAnimation.setMaxValue(Integer.MAX_VALUE);
flingAnimation.start();
J'utilise le nouveau FlingAnimation de la bibliothèque de support 26.1.0. Je ne suis pas capable de faire tourner le cercle dans le sens des aiguilles d'une montre. Il tourne juste dans le sens des aiguilles d'une montre, peu importe les valeurs que je passe.Android FlingAnimation pour ROTATION dans le sens de l'horloge opposé
Comment puis-je faire pivoter la vue dans les deux directions?
Je pense que c'était parce que vous utilisez toujours une vitesse de démarrage positif – khriskooper
j'ai changé la valeur. Donc quand la vitesse est négative, rien ne tourne. Si c'est positif, il a une vitesse pour faire pivoter la vue. StartValue est juste la valeur de départ de la rotation. min- et maxValue sont juste les limites, où l'animation sera arrêtée. Dans ce cas, il tourne jusqu'à ce que le frottement arrête le lancer. –