Androidf动画-抛物线实现

来源:互联网 发布:暖手袋 知乎 编辑:程序博客网 时间:2024/05/29 03:40

抛物线实现 :
1.创建一个valueAnimator处罚金

ValueAnimator valueAnimator = new ValueAnimator();

2.设置持续时间

valueAnimator.setDuration(3000);

3.设置起始点:

valueAnimator.setObjectValues(newPointF(0,0));

4.设置插值,

valueAnimator.setInterpolator(newLinearInterpolator());

5.设置评价器

valueAnimator.setEvaluator(new TypeEvaluator<PointF>(){    @Override    Public PointFevaluate(float fraction, PointF startValue,PointF endValue){        LogUtils.printFunLog(TAG,fraction*3+"");        //x方向160px/s,则y方向0.5*10*t        PointF point= new PointF();        point.x=oriX+160*fraction*3;        point.y=oriY+0.5f*160*(fraction*3)*(fraction*3);        Return  point;    }});

6.开启动画

valueAnimator.start();

7.设置动画更新监听

valueAnimator.addUpdateListener(newValueAnimator.AnimatorUpdateListener(){    @Override    Public void onAnimationUpdate(ValueAnimator animation){        PointFpoint=(PointF)animation.getAnimatedValue();//这个就是上面标红得到的值        view.setX(point.x);        view.setY(point.y);    }});
原创粉丝点击