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