Android 自定义view画布API:canvas
扫描二维码
随时随地手机看文章
canvas在Android自定义View中是一个非常重要的角色。
canvas介绍
假如你想要绘制自己想要的动画,控件效果,canvas是最适合不过的了。
可以看看canvas内部有些什么属性,掌握这些属性,就可以动手绘制出我们自己想要的控件效果了。
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的起点 /** * 参数1、2:x1,y1为控制点的坐标值 * 参数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);





