我正在尝试擦除图像的一部分,所以我创建了一个自定义的ImageView,所以为了擦除,我使用下面的画图
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setColor(Color.TRANSPARENT);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(30);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));我将XferMode设置为PorterDuff.Mode.CLEAR以清除图像,这在Android4.1上运行良好,但当我在Android2.3上测试时,它会绘制一条黑线而不是背景色,而且我还禁用了硬件加速。
有人能解释一下为什么这在Android2.3上不起作用吗?
发布于 2013-04-04 17:49:43
我也遇到过类似的问题,我在调用super.onDraw(canvas)之前使用Canvas.clipRect修复了这个问题。
https://stackoverflow.com/questions/15200187
复制相似问题