深度反弹动画

时间:2017-08-20 09:37:54

标签: android android-animation

我如何添加反弹动画来查看哪个会出现故障但是它应该只进行一次。

如果我将弹跳插值器设置为y弹跳给定的持续时间   但我只想要它一次,但它应该说5dp向下,直到当前视图

    ObjectAnimator animator = ObjectAnimator.ofFloat(targetView, "translationY", 0, 50, 0);
    animator.setInterpolator(new BounceInterpolator());
    animator.setDuration(200);
    animator.start();

1 个答案:

答案 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();