我仍然没有找到在相机预览上方显示opengl叠加层的正确方法,
有个骇客,您可以在这里打电话
setContentView(GLSurfaceView)
addContentView(MyCameraSurfaceView)
但它无法正常工作-也就是说,当您切换到其他 Activity 并返回时,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);
}