牙叔教程简单易懂
正常动画速度ms慢速动画3秒思路绘制背景,白色的圆角矩形
绘制爱心,红色的心形
添加点击动画
绘制白色的矩形drawBg(that.roundRectPaint,that.fraction,canvas,that.width,that.height);是已经封装好的代码,就是画个圆角矩形functiondrawBg(paint,fraction,canvas,width,height){letleft=0;lettop=0;letright=width;letbottom=height;//scaleletscaleX=leap(1,0.9,1,fraction);letscaleY=scaleX;letpivotX=width/2;letpivotY=height/2;canvas.scale(scaleX,scaleY,pivotX,pivotY);letradius=;canvas.drawRoundRect(left,top,right,bottom,radius,radius,paint);}其中有5个参数functiondrawBg(paint,fraction,canvas,width,height)paint是画笔fraction是控制Canvas缩放的canvas是画板width,height是矩形的宽高fraction是这里面最关键的,因为我们这个教程主要就是写动画;动画的主要形式就是控制canvas的缩放fraction主要用在leap函数里面,我们看看leap是什么?leapfunctionleap(a,b,c,fraction){if(fraction=0.5){returnMathUtils.lerp(a,b,fraction*2);}else{lettempFraction=fraction-0.5;returnMathUtils.lerp(b,c,tempFraction*2);}}leap返回一个数字,用这个数字来控制动画;数字是用lerp计算出来的lerp