如何绘制透明内部区域的矩形?

Ash*_*man 2 android styles

我想在像这个图像的视图的中心绘制矩形.为此,我使用以下代码

public class TransparentView extends View {


    public TransparentView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public TransparentView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public TransparentView(Context context) {
        super(context);
    }

    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);
        canvas.drawColor(Color.parseColor("#60000000"));
        Paint borderPaint = new Paint();
        borderPaint.setARGB(255, 255, 128, 0);
        borderPaint.setStyle(Paint.Style.STROKE);
        borderPaint.setStrokeWidth(4);

        Paint innerPaint = new Paint();
        innerPaint.setARGB(0, 0, 0, 0);
        innerPaint.setAlpha(0);
        innerPaint.setStyle(Paint.Style.FILL);

        RectF drawRect = new RectF();

        drawRect.set(100, 100, 100,100);

        canvas.drawRect(drawRect, innerPaint);
        canvas.drawRect(drawRect, borderPaint);

    }

}
Run Code Online (Sandbox Code Playgroud)

如何在矩形内部完全透明,在外部区域透明度差?

小智 12

只是用

innerPaint.setStyle(Paint.Style.STROKE);
Run Code Online (Sandbox Code Playgroud)

代替

innerPaint.setStyle(Paint.Style.FILL);
Run Code Online (Sandbox Code Playgroud)