一直想学习自定义View方面的知识,看的资料比较多,但是真正自己动手的实践很少,趁最近一段时间有点空闲,便查看AndroidAPI,照着上面的方法写点东西
一.Canvas的方法
1.drawArc(绘制弧形),代码如下
Paint paint = new Paint();
//抗锯齿
paint.setAntiAlias(true);
//同样也是抗锯齿
//paint.setFlags(Paint.ANTI_ALIAS_FLAG);
//设置描边
paint.setStyle(Paint.Style.STROKE);
//描边的宽度,当参数为0时,表示极细的线
paint.setStrokeWidth(0);
//设置画笔的颜色
paint.setColor(Color.parseColor("#8FBC8F"));
//参数分别为矩形左边的x轴坐标、上边的y轴坐标、右边的x轴坐标、下边的y轴坐标
RectF rectF = new RectF(100,200,400,500);
//第二个参数为弧的起始角度,3点钟方向为0、第三个参数为弧扫过的角度、第四个参数为是否使用中心
canvas.drawArc(rectF,20,320,true,paint);
当drawArc第四个参数为true时的效果
当为false时的效果
2.drawCircle(绘制圆形)
Paint paint = new Paint();
paint.setAntiAlias(true);
//设置描边
paint.setStyle(Paint.Style.STROKE);
//描边的宽度,当参数为0时,表示极细的线
paint.setStrokeWidth(0);
//设置画笔的颜色
paint.setColor(Color.parseColor(“#8FBC8F”));
//参数分别为:圆点的x轴坐标、y轴坐标、半径大小、画笔
canvas.drawCircle(200,300,100,paint);
效果图如下
当注释上述paint.setStyle(Paint.Style.STROKE);代码时,效果图如下
3.drawOval(绘制椭圆形)
RectF rectF = new RectF(100,200,400,400);
canvas.drawOval(rectF,paint);
效果图如下
4.drawRect(绘制矩形)
RectF rectF = new RectF(100,200,400,400);
canvas.drawRect(rectF,paint);
5.drawRoundRect(绘制圆角矩形)
RectF rectF = new RectF(100,200,400,400);
//第二个参数为x轴方向的圆角半径,第三个为y轴方向的圆角半径
canvas.drawRoundRect(rectF,10,10,paint);