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();
サポートライブラリ26.1.0から新しいFlingAnimationを使用しています。 円を時計回りに回転させることができません。どんな値を渡しても時計回りに回転します。Android FlingAnimation for ROTATION反対の時計方向
ビューを両方向に回転させるにはどうすればよいですか?
私はあなたが常に正開始速度 – khriskooper
を使用しているので、それは私が値を変更したと思うだろう。したがって、速度が負の場合、何も回転しません。正の場合は、ビューを回転させるベロシティがあります。 startValueはローテーションの開始値にすぎません。 min-とmaxValueは境界にすぎず、アニメーションは停止します。この場合、それは摩擦が飛行を止めるまで回転する。 –