在Android上使用透明绘制

在Android上使用透明绘制,android,canvas,2d,draw,paint,Android,Canvas,2d,Draw,Paint,当我在Android的普通2D画布上使用Paint和Color.TRANSPARENT时,我没有得到任何结果,我的意图是去掉画布上的一些内容。我的意思是我想处理的东西不会消失 这是我的绘制代码: mPointFillPaint = new Paint(); mPointFillPaint.setColor(Color.TRANSPARENT); mPointFillPaint.setAntiAlias(true); mPointFillPaint.setStyle(Paint.Style.FIL

当我在Android的普通2D画布上使用
Paint
Color.TRANSPARENT
时,我没有得到任何结果,我的意图是去掉画布上的一些内容。我的意思是我想处理的东西不会消失

这是我的
绘制代码

mPointFillPaint = new Paint();
mPointFillPaint.setColor(Color.TRANSPARENT);
mPointFillPaint.setAntiAlias(true);
mPointFillPaint.setStyle(Paint.Style.FILL);
mPointFillPaint.setStrokeJoin(Paint.Join.MITER); 

以下
Paint
配置应有帮助:

mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setColor(Color.TRANSPARENT);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));
mPaint.setAntiAlias(true);
我发现使用

mPaint.setColor(Color.TRANSPARENT);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OUT));

刚把我的油漆弄黑了

我有另一种方法,就是在colors.xml中引入透明颜色

    <color name="transparentColor">#00ffffff</color>
    <color name="transparentColor">#00ffffff</color>
    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setColor(getResources().getColor(R.color.transparentColor));