今天写了一个动画,想让动画无限循环下去,可是运行一次就停止了,查了很多资料,最后发现原来动画次数的只有设置在每一个子动画中才行,
原来的写法
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/cycle"
android:repeatMode="restart"
android:repeatCount="-1"
>
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="-1"
android:toYDelta="-1" />
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="300"
android:toXDelta="1"
android:toYDelta="-1" />
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="600"
android:toXDelta="-1"
android:toYDelta="1" />
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="900"
android:toXDelta="1"
android:toYDelta="1" />
</set>
正确的写法
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/cycle"
>
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:repeatCount="-1"
android:toXDelta="-1"
android:toYDelta="-1" />
<translate
android:duration="300"
android:repeatCount="-1"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="300"
android:toXDelta="1"
android:toYDelta="-1" />
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="600"
android:repeatCount="-1"
android:toXDelta="-1"
android:toYDelta="1" />
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:repeatCount="-1"
android:startOffset="900"
android:toXDelta="1"
android:toYDelta="1" />
</set>