我正在尝试使TextView无限动画.我编写了sequence.xml,它定义了如下所示的动画效果:
android:fillAfter="true"
android:interpolator="@android:anim/linear_interpolator" >
android:duration="800"
android:fillAfter="true"
android:fromXDelta="0%p"
android:startOffset="300"
android:toXDelta="2%p" />
android:duration="800"
android:fillAfter="true"
android:fromXDelta="0%p"
android:startOffset="1900"
android:toXDelta="-2%p" />
将此动画分配给TextView的Activity代码如下所示:
TextView tv = new TextView(this);
tv.setText(customObject.getText());
Animation animSequential;
animSequential = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.sequential_horizontal);
animSequential.setRepeatMode(Animation.RESTART);
animSequential.setRepeatCount(Animation.INFINITE);
tv.startAnimation(animSequential);
但这并没有重复动画,而是在第一次迭代结束时停止.如果我有误,请告诉我.
解决方法:
在XML代码中尝试一下. Java代码无法正常工作,因此我很好地解决了这一问题.只需在您的代码中应用此代码即可:
android:shareInterpolator="false" >
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360"
android:duration="1000"
android:repeatCount="infinite"
android:repeatMode="restart"/>
将< rotate>的最后两行相加.在您的代码中.在您的情况下,两个组件中的< translate>并删除等效的Java代码:
animation.setRepeatMode(Animation.INFINITE);
animation.setRepeatCount(Animation.INFINITE);
如果有人服务,此代码将使对象无限期地自身旋转.
祝好运!!
标签:android
来源: https://codeday.me/bug/20191118/2031550.html