2016-04-21 64 views
0

工作后,我使用一个TextView谁的立场上触摸改变通过下面的代码动画上的TextView不改变TextView的位置

tvPostText.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      scaleGestureDetector.onTouchEvent(event); 
      if (event.getPointerCount() == 3) { 
       tvPostText.setRotation(rotation(event)); 
      } else if (event.getPointerCount() == 1) { 
       if (event.getAction() == MotionEvent.ACTION_MOVE) { 
        v.setX(event.getRawX() - v.getWidth()/2.0f); 
        v.setY(event.getRawY() - v.getHeight()/2.0f); 
       } 
      } 
      return true; 
     } 

,我就可以将旋转的动画。如果我通过手指触摸更改textview的位置,则动画无法正常工作。可以有人建议我如何在textview位置更改后将动画应用于textview。

以下是动画代码: -

RotateAnimation anim = new RotateAnimation(0.0f, 360.0f , Animation.RELATIVE_TO_SELF, .5f, Animation.RELATIVE_TO_SELF, .5f); 
      anim.setInterpolator(new LinearInterpolator()); 
      anim.setRepeatCount(Animation.INFINITE); 
      anim.setDuration(3000); 
      tvPostText.startAnimation(animRotate); 
+0

调用'tvPostText.setRotation(旋转(事件));''中如果(event.getPointerCount()== 1)' – Kathi

+0

它不工作 –

回答

1

使用动画

  ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(tvPostText,"rotation",0f,360f); 
      objectAnimator.setInterpolator(new LinearInterpolator()); 
      objectAnimator.setDuration(3000); 
      objectAnimator.setRepeatCount(ValueAnimator.INFINITE); 
      objectAnimator.start(); 
+0

它为我工作 –

1

尝试动画完成后调用clearAnimation()在你的TextView。它帮助了我。