我试图在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>
答案 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做动画。