最近在学习Android 的图形动画,利用Android 的图形库,
以及动画,做了这样一个简单的动画出来,效果图如下;
这里面看起来简单,涉及到的东西还不少,写此文章整理一下,顺便巩固下自己的知识;
下面就来说说此动画的制作过程
1、涉及到的知识点
a、自定义view;
b、曲线的绘制
c、图片的压缩
d、属性动画的使用
2、思路
1、 自定义Surfaceview ,
2 、在此view上绘制福字 的运动曲线;
这里曲线的绘制,主要在 坐标点的选取,Android 里提供了绘制曲线的方法;
quadTo(x1,y1,x2,y2) //绘制2阶曲线
cubicTo(x1,y1,x2,y2,x3,y3)//绘制3阶曲线
这里大家可以 去学习一下 besizer 曲线的知识
3、绘制福字
4、给此view 添加属性动画
让福字沿着曲线动起来
3、重要的代码片段
//根据坐标点形成曲线路径 path
public Path pathCurve(List<ZPoint>points){
Path path=new Path();
ZPoint prePoint;
ZPoint nextPoint;
ZPoint p3;
for(int i=0;i<points.size();i++){
ZPoint point=points.get(i);
if(i==0){
path.moveTo(point.getmX(),point.getmY());
}
else if((i+4)<points.size()){
prePoint=points.get(i+2);
nextPoint=points.get(i+3);
p3=points.get(i+4);
i++;
// path.quadTo(prePoint.getmX(),prePoint.getmY(),nextPoint.getmX(),nextPoint.getmY());
path.cubicTo(prePoint.getmX(),prePoint.getmY(),nextPoint.getmX(),nextPoint.getmY(),p3.getmX(),p3.getmY());
}
}
return path;
}
4、总结
其实是我语言组织能力不强,还有好多东西一下子说不上来;慢慢的一点一点地进步吧;自己给自己加油;