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
);