在Android Canvas上绘制一个空心圆

Mat*_*ark 2 android android-canvas

我正在创建一个自定义视图,用户可以在其中选择一个角度.以下是最终结果应如下所示的示例:

在此输入图像描述

我使用以下代码实现此目的:

mPaint.setColor(Color.BLACK);
canvas.drawCircle((int) (mSize.right / 2), (int) (mSize.bottom / 2),
        mWidthOutside, mPaint);

mPaint.setColor(Color.LTGRAY);
canvas.drawCircle((int) (mSize.right / 2), (int) (mSize.bottom / 2),
        mWidthInside, mPaint);
Run Code Online (Sandbox Code Playgroud)

这样做的问题是背景是静态的LTGRAY,我希望透明.

我怎样才能让圆圈的中心透明?

我试过以下希望该drawArc函数只能创建一条画线宽度的线条,而不是填充中心.它在面部填充中心.

RectF rectF = new RectF(centerX - mRadius, centerY - mRadius, centerX
            + mRadius, centerY + mRadius);
canvas.drawArc(rectF, 0, 360, false, mPaint);
Run Code Online (Sandbox Code Playgroud)

关于如何保持圆心的透明度的建议?

Gho*_*fel 8

正如问:)解决方案是设置样式 Paint.Style.STROKE