paint画笔style为Stroke时circle的半径分析

画两个圆:

mPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
        mPaint.setStyle(Paint.Style.STROKE);


@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        mPaint.setStrokeWidth(20);
        canvas.drawCircle(200,400,200,mPaint);

        mPaint.setStrokeWidth(40);
        canvas.drawCircle(200,900,200,mPaint);
    }

看图:
paint画笔style为Stroke时circle的半径分析_第1张图片

可以看到:我在canvas.drawCircle(200,900,200,mPaint);时设置圆的半径为200,而实际内部的圆的半径为,200 - StrokeWidth/2。也就是外环的宽度的一半加上内部圆半径,总和为200.

就酱紫。

你可能感兴趣的:(自定义控件)