2017-09-27 4 views
0
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을 사용하고 있습니다. 시계 반대 방향으로 원을 돌릴 수 없습니다. 어떤 값을 전달하더라도 시계 방향으로 회전합니다.안드로이드 FlingAnimation 반대 시계 방향으로 회전

뷰를 양방향으로 회전하려면 어떻게해야합니까?

+0

나는 항상 내가 값을 변경 긍정적 인 시작 속도 – khriskooper

+0

을 사용하고 있기 때문에 그것이 생각합니다. 속도가 음수이면 아무 것도 회전하지 않습니다. 양수이면보기를 회전시키는 속도가 있습니다. startValue는 회전의 시작 값입니다. min- 및 maxValue는 애니메이션이 중지되는 경계입니다. 이 경우 마찰이 플링을 멈출 때까지 회전합니다. –

답변

0

해결 :

이 레이아웃의

공간 위젯

보기 같은 보이지 않는보기를 만들고 FlingAnimation에 전달합니다. 물론 아무 것도 일어나지 않지만 업데이트 콜백을 통해 값을 가져 와서 태그 뷰에 전달하고 회전시킬 수 있습니다. 음수 또는 양수 값을 사용하여 회전 방향을 결정합니다.

관련 문제