这个动画有两个阶段.第一个缩放X和Y轴,第二个缩放它.所以我们可以将它们分成两个动画制作器,然后依次播放.
动画的关键是为第二个AnimatorSet找到合适的插值器,因为它不是标准的.
看到,我们想要fab超调,然后下冲,然后最终在动画师中达到指定的值.
幸运的是,有一个非常方便的PathInterpolator,它将为我们提供一个提供Path的内插器.
Path path = new Path();
path.moveTo(0.0f, 0.0f);
path.lineTo(0.5f, 1.3f);
path.lineTo(0.75f, 0.8f);
path.lineTo(1.0f, 1.0f);
PathInterpolator pathInterpolator = new PathInterpolator(path);
所以,让我们创建第一个动画:
final float from = 1.0f;
final float to = 1.3f;
ObjectAnimator scaleX = ObjectAnimator.ofFloat(fab, View.SCALE_X, from, to);
ObjectAnimator scaleY = ObjectAnimator.ofFloat(fab, View.SCALE_Y, from, to);
ObjectAnimator translationZ = ObjectAnimator.ofFloa