2016-04-21 59 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。它幫助了我。