制作反弹动画

5er*_*5er 9 android android-animation

我想做一层反弹动画.

我已经完成了从正确到中心的那一层,现在我想稍微向后移动然后再回到中心.这会产生反弹效果.

我想我可以用这样的翻译来做到这一点:

<translate
    android:duration="900"
    android:fromXDelta="100%p"
    android:toXDelta="0%p" />

<translate
    android:duration="900"
    android:fromXDelta="0%p"
    android:toXDelta="100%p" />

<translate
    android:duration="900"
    android:fromXDelta="70%p"
    android:toXDelta="0%p" />
Run Code Online (Sandbox Code Playgroud)

那么这段代码不起作用,我唯一可以实现的是Layer从左到中,然后动画停止.

我不能使用这段代码:因为它没有实现我想要的

setInterpolator(AnimationUtils.loadInterpolator(this,
                        android.R.anim.bounce_interpolator));
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Ste*_*ett 15

您可以使用BounceInterpolator来实现此效果.该文档包含一个很好的说明了如何使用它的XML.只需要像这样的动画xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"

    android:interpolator="@android:anim/bounce_interpolator">

    <!-- Use your working translate animation here-->
    <translate
        android:duration="900"
        android:fromXDelta="100%p"
        android:toXDelta="0%p" />
</set>
Run Code Online (Sandbox Code Playgroud)