重复动画后给予延迟

时间:2017-04-12 14:11:51

标签: android android-animation

我在我的imageview中添加了一个无限动画 下面是我的动画代码

    <?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="70%"
    android:pivotY="70%"
    android:repeatCount="infinite"
    android:startOffset="2000"
    android:repeatMode="reverse"
    android:toXScale="0.8"
    android:toYScale="0.8" />

和java代码是

Animation pulse = AnimationUtils.loadAnimation(this, R.anim.pulse);
                            reviewImage.startAnimation(pulse);

问题是它在每个动画之后做出延迟,例如展开+延迟+崩溃+延迟两者我想只在一个循环意味着延迟+崩溃+延迟之后给予延迟

1 个答案:

答案 0 :(得分:1)

你不能用一个动画做到这一点,因为它的工作方式是它执行动画并将下一个动画延迟2000ms(如xml中所指定)。从框架的角度来看,这些动画并没有相互关联,也无法将它们评估为一个动画,因此它们是两个独立的动画。

你必须创建2个动画并按顺序播放它们。

请参阅here如何使用AnimatorSet执行此操作,但您也可以使用xml执行此操作。

<set>

    <scale 
        android:duration="500"
        .../>

    <scale
        android:startOffset="500"
        .../>

</set>