canvas在Android自定義View中是一個非常重要的角色。
canvas介紹
假如你想要繪制自己想要的動畫,控件效果,canvas是最適合不過的了。
可以看看canvas內(nèi)部有些什么屬性,掌握這些屬性,就可以動手繪制出我們自己想要的控件效果了。
123456789101112131415161718192021222324252627//畫布顏色canvas.drawColor()//矩形繪制canvas.drawRect(0,0,200,200,paint);//畫文字canvas.drawText("文字",50,?50,?paint);//繪制圖片canvas.drawBitmap();//繪制圓drawCircle(200,?200,?100,?paint);??//弧形繪制canvas.drawArc(RectF?oval,?float?startAngle,?float?sweepAngle,?boolean?useCenter,?Paint?paint);//畫線canvas.drawLine(float?startX,?float?startY,?float?stopX,?float?stopY,?Paint?paint);//貝塞爾曲線paint.setStyle(Style.STROKE);??Path?path2?=?new?Path();????path2.moveTo(100,?100);//設置Path的起點???/**??*?參數(shù)1、2:x1,y1為控制點的坐標值??*?參數(shù)3、4:x2,y2為終點的坐標值??*/??path2.quadTo(300,?100,?400,?400);?//設置貝塞爾曲線的控制點坐標和終點坐標path2.quadTo(500,?700,?800,?800);??//畫出貝塞爾曲線canvas.drawPath(path2,?p);//畫點canvas.drawPoint(float?x,?float?y,?Paint?paint)
canvas操作類里面不止上面這些方法,具體可以查看Android的官方文檔:https://developer.android.com/reference/android/graphics/Canvas.html(梯子自備)
canvas除了繪制圖形外,還有一些操作方法:
Canvas平移:
1234567/**??*?畫布向(200,30)方向平移??*???*?parms1:向X軸方向移動200距離??*?parms2:?向Y軸方向移動30距離????*/?canvas.translate(200,?30);
Canvas縮放:
1234/**以x軸200y軸200為中心,x軸放大2倍,y軸放大3位*/canvas.scale(2,?3,200,200);





