CountDownProgress.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:FamilyBond 作者:
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();

    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号