Android XML Pulse Animation无法按预期工作

时间:2016-05-17 08:11:35

标签: android xml animation android-animation

我正在尝试编写一个模仿类似于此的脉冲动画的动画:

专注于内部蓝色圆圈(忽略外部深蓝色圆圈)

http://www.joedubs.com/wp-content/uploads/2016/01/breathe-now.gif

这是我到目前为止编写的代码:

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

    <scale
        android:duration="2000"
        android:fromXScale="0.8"
        android:fromYScale="0.8"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="2000"
        android:toXScale="1.8"
        android:toYScale="1.8" />

    <scale
        android:duration="2000"
        android:fromXScale="1.8"
        android:fromYScale="1.8"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="2000"
        android:toXScale="1"
        android:toYScale="1" />
</set>

虽然这在某种程度上起作用,但动画再次重复时会跳过并且断断续续。有人可以调整一下来模仿平滑的脉冲动画吗? (成长和减少)

1 个答案:

答案 0 :(得分:0)

你可以像这样添加一个ObjectAnimator,在反向模式下创建一个脉动效果:

push()

另一种实现具有CustomClass并覆盖OnDraw方法的方法,创建增加或减少增加变量并调用invalidate()的效果。我在另一篇文章中做了这些,以使我的按钮背景增长,如果你想按照这种方式,它对你有用。

Pulsating Button Android