所以这是我想要做的奇怪的事情,在我的应用程序中看起来很神奇,但对于我的生活无法弄清楚如何。
让我说我的屏幕背景如下:
然后我添加一个视图,可以包含任意数量的子视图/内容。这种观点自然掩盖了背景:
到目前为止一切顺利。现在是棘手的部分。我想实施一些能让我看到"通过"这个观点的一部分。从本质上讲,它会使视图看起来不可见,但仅限于一个特定区域。这是它的样子:
到目前为止,我还没有找到任何办法。
答案 0 :(得分:2)
您可以使用Bitmap Masking
技术来完成您想要的任务。您的onDraw()
方法中的内容如下所示。
Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
setLayerType(LAYER_TYPE_HARDWARE,paint); // if hardware acceleration is on
// canvas.saveLayer(0, 0, canvas.getWidth(), canvas.getHeight(), paint); // Use this if hardware acceleration is off.
canvas.drawRect(200, 200, 400, 400, paint); // This will be HOLE in the VIEW
欲了解更多信息,请阅读:https://stackoverflow.com/a/33483016/4747587
答案 1 :(得分:0)