简单理解动画就是:新建一个ValueAnimator,这个animator在设定的时间内持续调用自己的一个方法,不错地更新某个值,如让一个值从0-1,我们就可以利用从0-1这样的变化值,让需要动画的View利用这个变化值,平移,旋转,缩放等,从而形成动画
ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1);
valueAnimator.setDuration(duration);
valueAnimator.setInterpolator(new AccelerateInterpolator());
valueAnimator.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
// 不断重新计算上下左右位置
float fraction = (Float) animator.getAnimatedValue(); //获取这个正在变化的值
postInvalidate();
}
});
valueAnimator.start();