我需要我的两个动画连续重复,中间没有停顿。然而,每次它都会在动画开始时加速,并在结束时减速。
我的 XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="10000"
android:fromYDelta="-100%p"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="infinite"
android:startOffset="0"
android:toYDelta="-1%p" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="10000"
android:fromYDelta="0%p"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="infinite"
android:toYDelta="99%p"
android:startOffset="0" />
</set>
感谢任何帮助。
注意:Delta 最初是 100 而不是 99,是 0 而不是 1,但这对情况没有帮助。
最佳答案
将 android:interpolator 标签放在 main set 标签中。
因此,如果您查看 AnimationSet(context, resource file) 构造函数的源代码,默认将共享插值器设置为 true 即。如果此集合中的所有动画都应使用与此 AnimationSet 关联的插值器,则传递 true。如果每个动画都应该使用自己的插值器,则传递 false。因此,您需要将插值器放在场景中而不是动画 fragment 本身。
关于java - XML 动画在开始和结束时加速和减速,尽管使用了 linear_interpolator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23769839/