我如何添加反弹动画来查看哪个会出现故障但是它应该只进行一次。
如果我将弹跳插值器设置为y弹跳给定的持续时间 但我只想要它一次,但它应该说5dp向下,直到当前视图
ObjectAnimator animator = ObjectAnimator.ofFloat(targetView, "translationY", 0, 50, 0);
animator.setInterpolator(new BounceInterpolator());
animator.setDuration(200);
animator.start();
答案 0 :(得分:1)
使用OvershootInterpolator
。
文档:
一个插值器,其中变化向前掠过并超过 最后一个值然后回来。
您可以使用tension
参数:
OvershootInterpolator(float tension)
张力:超调量。当张力等于0.0f时,没有 过冲和插补器变成简单的减速 内插器。
tension
的默认值为2.0f
。
使用ViewPropertyAnimator
的示例:
targetView.animate()
.translationY(50)
.setInterpolator(new OvershootInterpolator())
.setDuration(200);
使用ObjectAnimator:
ObjectAnimator animator = ObjectAnimator.ofFloat(targetView, "translationY", 0, 50); // pass only start and end values.
animator.setInterpolator(new OvershootInterpolator());
animator.setDuration(200);
animator.start();