How to run several translate animations sequentially?

前端 未结 2 772
清酒与你
清酒与你 2020-12-08 03:30

I want to run the three translate animations shown below sequentially. i.e. after one translate animation ends, the second translate animation starts. However, they run conc

相关标签:
2条回答
  • 2020-12-08 03:40

    Kevin's solution may work, though I have found the timing to be somewhat inaccurate.

    Another option is to use a pair of AnimationListener objects, one attached to each of the first two Animations. The listener for the first animation, in onAnimationEnd(), would start the second animation. The listener for the second animation, in onAnimationEnd(), would start the third animation.

    0 讨论(0)
  • 2020-12-08 04:05

    Use android:startOffset to delay animations.

    With your example, this should do what you want:

    <set
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:interpolator="@android:anim/linear_interpolator"
        android:fillAfter="true">
    
        <translate
            android:fromXDelta="100%p"
            android:toXDelta="-20%p"
            android:duration="1000" />
    
        <translate
            android:startOffset="1000"
            android:fromXDelta="-20%p"
            android:toXDelta="20%p"
            android:duration="1000" />
    
        <translate
            android:startOffset="2000"
            android:fromXDelta="20%p"
            android:toXDelta="0"
            android:duration="1000" />
    </set>
    
    0 讨论(0)
提交回复
热议问题