private void drawCircle(Canvas canvas) {
canvas.save();
canvas.translate(getPaddingLeft(), getPaddingTop());
canvas.drawCircle(defaultCircleRadius, defaultCircleRadius, defaultCircleRadius, defaultCriclePaint);
mCenterPoint.x = defaultCircleRadius;
mCenterPoint.y = defaultCircleRadius;
canvas.rotate(270, mCenterPoint.x, mCenterPoint.y);
mSweepGradient = new SweepGradient(mCenterPoint.x, mCenterPoint.y, mGradientColors, null);
progressPaint.setShader(mSweepGradient);
canvas.drawArc(new RectF(0, 0, defaultCircleRadius * 2, defaultCircleRadius * 2), 1, 360 * currentAngle, false, progressPaint);
float currentDegreeFlag = 360 * currentAngle + extraDistance + 90;
float smallCircleX = 0, smallCircleY = 0;
float hudu = (float) Math.abs(Math.PI * currentDegreeFlag / 180);//Math.abs:绝对值 ,Math.PI:表示π , 弧度 = 度*π / 180
smallCircleX = (float) Math.abs(Math.sin(hudu) * defaultCircleRadius + defaultCircleRadius);
smallCircleY = (float) Math.abs(defaultCircleRadius - Math.cos(hudu) * defaultCircleRadius);
canvas.drawCircle(smallCircleX, smallCircleY, smallCircleRadius, smallCirclePaint);
canvas.drawCircle(smallCircleX, smallCircleY, smallCircleRadius - smallCircleStrokeWidth, smallCircleSolidePaint);//画小圆的实心
canvas.restore();
}
CountDownProgress.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:FamilyBond
作者:
评论列表
文章目录