bitmap.eraseColor(COLOR.TRANSPARENT)不在surfaceview上工作

时间:2012-02-18 17:01:42

标签: java android

我的布局中有一个surfaceview,我绘制了一个位图。 我通过调用以下代码使surfaceview透明:

// framebuffer是一个位图

    setZOrderOnTop(true);
    this.framebuffer = framebuffer;        
    this.holder = getHolder();        
    this.holder.setFormat(PixelFormat.TRANSPARENT);

现在我想用这个来清除屏幕:

    framebuffer.eraseColor(Color.TRANSPARENT);

但它不起作用。 如果我将Color.TRANSPARENT替换为任何其他颜色,它会用该颜色绘制整个表面,即

    framebuffer.eraseColor(Color.WHITE);

有人有什么想法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

回答我自己的问题。

出于某种原因,我不得不同时打电话

                canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
                this.framebuffer.eraseColor(Color.TRANSPARENT);

但它仍在闪烁。

Android SurfaceView/Canvas flickering after trying to clear it