版权声明:欢迎你来转载,不过请带个此Blog链接! https://blog.csdn.net/luojiusan520/article/details/51148347
常常我们写到一些自定义控件时候,需要写一个圆环。
周所周知Android并没有直接圆环的写法。所以我们把Paint线条加粗setStrokeWidth()设置值。然后画一个圆弧 调用canvas.drawArc()就成了圆环了。
那么这个时候 此圆环的半径就可以思考一下了。
一般圆的半径 很容易的 100X100的矩形内切圆 可得 50为园的半径
如因为此时的线宽度不计就为0.圆半径就为矩形的一半;
可当为圆环的时候呢
通过这个内切圆环图,,咋的一看只知道内切圆的半径为50.圆环肯定也为50啊 那就肯定错了!。
百度百科 圆环相当于一个空心的圆,空心圆拥有一个小半径(r),整个圆有一个大半径(大写r),整个圆的半径减去空心圆半径就是环宽 ;
我们知道环宽也就是Paint的线宽setStrokeWidth();
那么圆环的半径呢。网上找了一会没找到 只找到圆环的面积圆环的周长。不多说就做测试 仅在Andoird API测试。
结果:
圆环的半径就是 内切圆半径 减去环宽的一半就为此圆环的半径
作图的画刚刚符合要求。也就是图中粉色线条其实是可以看作圆环的圆,只是把线条加大。这么一看就合理了。