用于反向时钟方向旋转的Android FlingAnimation

时间:2017-09-27 14:33:12

标签: java android animation rotation

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。 我无法将圆圈旋转到顺时针方向相反的方向。它只是顺时针旋转,无论我通过哪个值。

如何在两个方向上旋转视图?

2 个答案:

答案 0 :(得分:0)

解决方法

一样创建隐藏视图
  

空间小部件

在布局中查看并将其传递给FlingAnimation。当然不会发生任何事情,但通过更新回调,您可以获取值并将其传递给您的taget视图并旋转它。通过执行负值或正值,您可以决定旋转的方向。

答案 1 :(得分:0)

这也适用于SpringAnimation。请参阅示例代码的链接。

SpringAnimation - Rotation in both directions