以下面一个实例来说说这个Animation自定义动画怎么使用。
图中,我们可以看出,小球是带有轨迹的向下滚动,而且,轨道与轨道之间的拼接是用二阶贝塞尔曲线实现的,小球模拟重力效果,加速度的向下滚。那么,这里有疑问的地方是,如果模拟这个场景去实现呢?
首先我们想到了用android的动画Animation。
我们对Animation进行了深究,发现有一个ObjectAnimator的类,其中创建的时候,就有个相关的参数TypeEvaluator和Object,只要实现这两个类,就能做成我们想要的轨迹效果。
不啰嗦,贴上代码
public class PathEvaluator implements TypeEvaluator<PathPoint> {
/**
* @param t :执行的百分比
* @param startValue : 起点
* @param endValue : 终点
* @return
*/
@Override
public PathPoint evaluate(float t, PathPoint startValue, PathPoint endValue) {