如何在stopPreview之后清除表面的预览框架

时间:2011-09-05 22:27:38

标签: android android-3.0-honeycomb android-camera

当我在相机上调用stopPreview时,最后一帧仍保留在surfaceview上。如何清除它,例如黑色?

我尝试了setBackGroundColor,setVisibility但是没有任何区别。我假设它是PUSH_BUFFER类型。

由于

2 个答案:

答案 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,它按预期工作。