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





