CircleProgress
CircleProgress copied to clipboard
这里的起始角度为什么要startAngle为什么要设置成2
private void drawArc(Canvas canvas) { // 绘制背景圆弧 // 从进度圆弧结束的地方开始重新绘制,优化性能 canvas.save(); float currentAngle = mSweepAngle * mPercent; canvas.rotate(mStartAngle, mCenterPoint.x, mCenterPoint.y); canvas.drawArc(mRectF, currentAngle, mSweepAngle - currentAngle + 3, false, mBgArcPaint); // 第一个参数 oval 为 RectF 类型,即圆弧显示区域 // startAngle 和 sweepAngle 均为 float 类型,分别表示圆弧起始角度和圆弧度数 // 3点钟方向为0度,顺时针递增 // 如果 startAngle < 0 或者 > 360,则相当于 startAngle % 360 // useCenter:如果为True时,在绘制圆弧时将圆心包括在内,通常用来绘制扇形 canvas.drawArc(mRectF, 3, currentAngle, false, mArcPaint); canvas.restore(); }
这里的起始角度为什么要设置成2,如果不设置的话,会有渐变色的最终色的一点点不和谐,需要设置成差不多4才可以
同问