当我在相机上调用stopPreview时,最后一帧仍保留在surfaceview上。如何清除它,例如黑色?
我尝试了setBackGroundColor,setVisibility但是没有任何区别。我假设它是PUSH_BUFFER类型。
由于
答案 0 :(得分:2)
您是否尝试过以下操作? 在表面视图上,使用以下内容覆盖onDraw:
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
if (m_stopped) // Set it to true when you stop the preview.
{
canvas.drawColor(Color.BLACK);
}
}
您可能需要在停止预览后调用invalidate()以确保调用onDraw。
答案 1 :(得分:0)
谢谢Lior,
不幸的是,我犯了一个小学生错误,并假设在使用setBackGroundColor时0为黑色。
实际上读过这个文档是透明的,所以我现在正在使用Color.BLACK,它按预期工作。