【Android】【动画】Animation和Interpolator工作原理

这里以一个位移动画为例,来结束Animation和Interpolator是控制动画变换的
假设控件从源坐标sx,水平移动到目的坐标dx,总共所需时间毫秒数为duration
Interpolator根据duration进行的进度来计算插值(一般用动画进行的进度做插值)(两个都是float类型,代表百分比)
float interpolatedValue = getInterpolation(float durationElapsed)
Animation根据插值(动画进度),起始状态,目标状态来计算控件的显示状态
x = sx + (dx - sx) * interpolatedValue
当我们用动画进度作为插值时,使用以上公式就可以计算出控件最终的显示状态,当插值代表别的意思的时候,以上公式也应随之变化。上面两个公式,以及如何生成插值,都是由用户自己决定的。

你可能感兴趣的:(android)