今天做个是水平上升/下降的填充圆,是动态的那种,当然需求不算难,但好久不用canvas,有些生疏了;其中填充会用到:canvas.drawArc ()方法,我们来看看这个方法的参数:
drawArc(oval, startAngle, sweepAngle, useCenter, paint);
参数一:oval 是RectF类,但是想得到他的对象也有四个参数,经过查找:一张图很明了哈:
参数二: startAngle 是起始角度,水平直线从右面0°到左面180°,再继续转360°
参数三:sweepAngle,最坑的参数来了,描述是说要填:从起始位置到结束位置的弧度,为此我查找了弧度的转换公式,为什么要查找呢,因为不记得了哈,学没学过都没有印象了。最后找到
弧长=nπR/180° 于是我一顿计算:
(float) ((180 - 2 * xDegree) * Math.PI * screenWidth / 360),把这个放在了参数三的位置
结果怎么都画不出来,最后经过百般磨难我才发现,我找的是弧长公式不是弧度公式哈,我把单位都换了肯定是不对的哈。实际不用什么公式,最后这个参数:180 - 2 * xDegree。实际上是怨自己眼睛溜号了
参数四:useCenter是否要经过圆心
参数五:就是要用的画笔