我還沒有找到一個合適的方式來顯示相機預覽的一個OpenGL覆蓋OON頂部,的OpenGL覆蓋
有一個黑客,你叫
setContentView(GLSurfaceView)
addContentView(MyCameraSurfaceView)
,但它不」 t正常工作 - 即當您切換到其他活動並返回時,opengl圖層不會顯示在相機預覽上。
有大量的教程和使用上述方法的樣本,但它只是作爲預期
沒有人知道他們是如何做到這一點在拉亞
我還沒有找到一個合適的方式來顯示相機預覽的一個OpenGL覆蓋OON頂部,的OpenGL覆蓋
有一個黑客,你叫
setContentView(GLSurfaceView)
addContentView(MyCameraSurfaceView)
,但它不」 t正常工作 - 即當您切換到其他活動並返回時,opengl圖層不會顯示在相機預覽上。
有大量的教程和使用上述方法的樣本,但它只是作爲預期
沒有人知道他們是如何做到這一點在拉亞
它看起來像我已經找到了解決我的問題 - 其setZOrderMediaOverlay
功能,我的繼承人代碼:
private void initViews()
{
mFrame = new FrameLayout(this);
initCameraView();
initGLView();
setContentView(mFrame);
}
private void initGLView()
{
mRenderer = new MyGLRenderer(this);
mGLView = new GLSurfaceView(this);
mGLView.setZOrderMediaOverlay(true);
mGLView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
mGLView.setRenderer(mRenderer);
mGLView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
mFrame.addView(mGLView);
}
private void initCameraView()
{
mCameraSurfaceView = new CameraSurfaceView(this);
mFrame.addView(mCameraSurfaceView);
}
你有沒有考慮過,當不工作切換到另一個活動,你正在從重疊glsurface丟失opengl上下文?
這不是問題 - 我創造了150 DP保證金兩種觀點,一個右對齊,另一個左對齊,並且兩個都可以,但相機視圖已經在GLSurvaceView上。幸運的是,我認爲我找到了解決方案 - 請參閱我的答案。 – imbryk