</pre>1.前几天看别人博客上的一个自定义视图时,看到了一个空心圆环,然后学习了下,把自己理解的 函数参数的<p></p><p><span style="font-size:18px">方法跟大家说下,下面是一个自己做的简单例子</span></p><p><span style="font-size:18px"></span></p><p><span style="font-size:18px"><img src="https://img-blog.csdn.net/20150618173201350?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDczODM4Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="300" height="430" alt="" /></span></p><p><span style="font-size:18px"></span></p><p><span style="font-size:18px">1.绘制矩形</span></p><p></p><div style="font-size:18px"><img src="file:///C:\Users\xinwa\AppData\Roaming\Tencent\Users\1225267219\QQ\WinTemp\RichOle\5FS_ZXY_HO_X@)))UY_]565.png" alt="" /></div><p></p><p style="font-size:18px"><span style="font-size:18px">RectF rect1 = aaanew RectF(left, top, right, bottom); </span></p><p><span style="font-size:18px"></span></p><p style="font-size:18px"><span style="font-size:18px"> </span><img src="https://img-blog.csdn.net/20150618174550814?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDczODM4Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="500" height="400" align="right" alt="" /><span style="font-size:18px"> left 矩形左上角X坐标值</span><span style="font-size:18px"> </span></p><p style="font-size:18px"><span style="font-size:18px"> top 矩形左上角Y坐标值 right 矩形右下角X坐标值 bottom 矩形右下角Y坐标值</span></p><p style="font-size:18px"><span style="font-size:18px">比如说 Rect rect1 = new RectF(30,30,230,230);</span></p><div><span style="font-size:18px">上面我们设置的矩形宽度为230-30=200,高度为</span></div><div><span style="font-size:18px">230-30 = 200;</span></div><div></div><div><pre name="code" class="java">paint = new Paint(); paint.setColor(Color.BLUE);//设置画笔颜色为蓝色 paint.setAntiAlias(true); RectF rect1 = new RectF(30,30,230,230); canvas.drawRect(rect1, paint);
2.绘制弧形
<span style="white-space:pre"> </span>paint = new Paint(); paint.setColor(Color.BLUE);//设置画笔颜色为蓝色 paint.setAntiAlias(true); RectF rect2 = new RectF(300,30,500,230); canvas.drawArc(rect2, -180, 180, false, paint);canvas.drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter,Paint paint);
绘制弧形的时候他还会要求传入一个矩形参数,其实它是根据矩形中的内切圆来绘制弧形的,
startAngle为开始绘制弧的起始角,3点种的方向为0,上面我们设置的是-180度,倒着往回,也就是9点钟方向
sweepAngle为扫过的角度,180的话,也就是一个半圆形
useCenter则为是否显示中心
paint为画笔
3.绘制办圆环
RectF rect3 = new RectF(30,300,330,600); paint.setStrokeWidth(40);//设置画笔的宽度 paint.setStyle(Paint.Style.STROKE);//设置为空心 canvas.drawArc(rect3, -90, 90, false, paint);这个很简单,与上面类似,不同的地方在于我们把画笔的宽度加粗,然后设置为空心,这样他就只会显示
一条弧
最后附上源码 源码