我只想要一个空盒子的影子。但如果我给Rect
一个透明的Paint
颜色,阴影也会变得透明。这可能吗?
Paint paint = new Paint();
//paint.setColor(0x00000000);
paint.setShadowLayer(10, 0, 0, Color.BLACK);
Rect rect = new Rect(0, 0, 100, 100);
canvas.drawRect(rect, paint);
我最终创建了第二个Canvas
和第二个Bitmap
,然后在用PorterDuff.Mode.CLEAR
剪切了一些部分后将它们合并。通过这种方式,我可以像在图像编辑应用程序中一样创建图层,并且不会丢失背景。
这就是我切割零件的方式:
Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
Rect rect = new Rect(left, top, right, bottom);
canvas.drawRect(rect, paint);
这就是我将各层重新组合在一起的方式:
bottomCanvas.drawBitmap(topBitmap, 0, 0, null);