重复脉冲动画

时间:2014-12-04 18:43:54

标签: android loops animation

我试图在ImageView中创建无限脉冲效果。 但是如何保持偏移呢?

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
    android:duration="700"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0.5"
    android:toYScale="0.5"/>
<scale
    android:duration="700"
    android:fromXScale="1"
    android:fromYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="700"
    android:toXScale="2"
    android:toYScale="2"/>
</set>

3 个答案:

答案 0 :(得分:61)

这将使您的(图像)视图脉动达到其大小1.2并反复返回。

ImageView iv = (ImageView) findViewById(R.id.my_imageview);

ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(
                    iv,
                    PropertyValuesHolder.ofFloat("scaleX", 1.2f),
                    PropertyValuesHolder.ofFloat("scaleY", 1.2f));
scaleDown.setDuration(310);

scaleDown.setRepeatCount(ObjectAnimator.INFINITE);
scaleDown.setRepeatMode(ObjectAnimator.REVERSE);

scaleDown.start();

答案 1 :(得分:0)

您可以为集中的每个动画设置startOffset值。

答案 2 :(得分:0)

如果要创建无限动画,最好的方法是创建自定义视图,并在onDraw中创建动画。例如:How to animate a path on canvas - android

实际上你也可以用SurfaceView做动画。