Android 更改TextView位置后TextView上的动画不起作用

Android 更改TextView位置后TextView上的动画不起作用,android,animation,textview,Android,Animation,Textview,我使用的是一个文本视图,其位置在触摸时通过以下代码更改 tvPostText.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { scaleGestureDetector.onTouchEvent(event); if (event.getPoint

我使用的是一个文本视图,其位置在触摸时通过以下代码更改

 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);

动画完成后,尝试在textview上调用
clearAnimation()
。这对我很有帮助。

动画制作完成后,尝试在文本视图上调用
clearAnimation()
。它帮助了我。

使用动画师

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

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

调用
tvPostText.setRotation(旋转(事件))if(event.getPointerCount()==1)
call
tvPostText.setRotation(rotation(event))if(event.getPointerCount()==1)中的code>