首先Canvas上面draw需要一个Paint。画笔常用的函数:
Paint p = new Paint();
//设置画笔的颜色
p.setColor(Color.parseColor("#b0b0b0"));
//设置画笔的风格:全部填充FILL 只画轮廓STROKE
p.setStyle(Paint.Sytle.STROKE);
//设置画笔的宽度
p.setStrokeWidth(8);
//设置是否抗锯齿
p.setAntiAlias(true);
//设置文字大小
p.setTextSize(30);
//测量字符串的长度
p.MeasureText("hello world");
当我们有了画笔之后,就可以绘制基本图形:
线:
canvas.drawLine(0,0,100,100,p);
三角形&多边形
使用Path类实现的。Path类提供了点绘制线的功能
path.MoveTo(0,0);
//给定path的起点
path.LineTo(10,10);
//往10,10绘制一条路径
path.lineTo(5,3);
//继续从10,10向5,3绘制一条路径
path.colse;
//将绘制的线形成封闭空间
canvas.drawPath(path,p);
矩形:
canvas.drawRect(0,0,100,50,p);
//画一个矩形,左上角为0,0 右下角为100,50
圆角矩形
RectF rectF = new RectF(0,0,100,50);
//一个矩形
canvas.drawRoundRect(RectF,20,20,p);
//画一个圆角矩形,大小为rectF,20,20分表示左边圆角的半径和右边圆角的半径
圆形
canvas。drawCircl(50,50,100,p);
//画一个圆,圆心为50,50,半径100
弧形
注意这里第二个参数,是从三点钟方向0°计算,所以想从12点中方向开始绘制,那么就是270°。第四个参数是决定是否经过圆心
canvas.drawArc(rectF,270,90,flase,p);
本文来源:http://blog.csdn.net/wingichoy/article/details/50487009