/**
* 绘制进度
*
* @param canvas 画布
*/
protected void drawProgress(Canvas canvas) {
if (mRadius == 0 || mProgressSize == 0 || mAnimatorProgress < 0)
return;
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(mProgressSize);
final float halfCircleSize = mProgressSize * 0.5f;
mRectF.set(-mRadius + halfCircleSize, -mRadius + halfCircleSize,
mRadius - halfCircleSize, mRadius - halfCircleSize);
SweepGradient sweepGradient = new SweepGradient(0, 0, mGradientColors, mGradientPositions);
mRotateMatrix.setRotate(mStartAngle, 0, 0);
sweepGradient.setLocalMatrix(mRotateMatrix);
mPaint.setShader(sweepGradient);
canvas.save();
canvas.drawArc(mRectF, mStartAngle, mAnimatorProgressAngle, false, mPaint);
canvas.restore();
}
CircleProgressBar.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:ProjectX
作者:
评论列表
文章目录