您的位置:首页 > 移动开发 > Android开发

Android 给Animation设置setRepeatMode不起作用

2013-12-31 14:16 423 查看
今天写了一个动画,想让动画无限循环下去,可是运行一次就停止了,查了很多资料,最后发现原来动画次数的只有设置在每一个子动画中才行,

原来的写法

<?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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: