我如何添加弹跳动画以查看会下降和上升的动画,但它只能执行一次。
如果我在给定的持续时间内将y设置为反弹插值器
但我只想一次,但应该向下说5 dp,直到当前视图为止
ObjectAnimator animator = ObjectAnimator.ofFloat(targetView, "translationY", 0, 50, 0);
animator.setInterpolator(new BounceInterpolator());
animator.setDuration(200);
animator.start();
最佳答案
使用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();