我想做一层反弹动画.
我已经完成了从正确到中心的那一层,现在我想稍微向后移动然后再回到中心.这会产生反弹效果.
我想我可以用这样的翻译来做到这一点:
<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" />
那么这段代码不起作用,我唯一可以实现的是Layer从左到中,然后动画停止.
我不能使用这段代码:因为它没有实现我想要的
setInterpolator(AnimationUtils.loadInterpolator(this,android.R.anim.bounce_interpolator));
任何帮助,将不胜感激.
解决方法
您可以使用
BounceInterpolator来实现此效果.
docs包含了如何在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>