我有这样的动画:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:fillAfter="true" >
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="600"
android:fillAfter="true"
android:fromXDelta="10"
android:fromYDelta="0"
android:toXDelta="0%"
android:toYDelta="-500" />
</set>
它的效果很棒,但这不是我想要做的全部,我希望 View 上升然后再下降。为此,我将动画更改为以下内容:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:fillAfter="true" >
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="600"
android:fillAfter="true"
android:fromXDelta="10"
android:fromYDelta="0"
android:toXDelta="0%"
android:toYDelta="-500" />
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="600"
android:fillAfter="true"
android:fromXDelta="10"
android:fromYDelta="0"
android:toXDelta="0%"
android:toYDelta="500" />
</set>
然而,它不起作用。我希望一个动画一个接一个地执行,但我猜它们是同时执行的。在这种情况下,我只需要能够执行与第一个动画相反的操作,但是我想知道如何在翻译等之后进行缩放。我需要两个单独的动画吗?一个接一个地运行动画而不是一次运行所有动画的正确方法是什么?
最佳答案
对于集合中的第二个动画,您想要偏移动画以使其在第一个动画之后开始。您可以使用偏移属性来执行此操作:http://developer.android.com/reference/android/view/animation/Animation.html#attr_android:startOffset
<translate
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="600"
android:startOffset="600"
android:fillAfter="true"
android:fromXDelta="10"
android:fromYDelta="0"
android:toXDelta="0%"
android:toYDelta="500" />
关于带套的安卓动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034720/