2

我正在尝试通过 Android 相机预览显示动态 OpenGL。我使用了其他指南/站点中建议的典型框架来创建一个实现 GLSurfaceView.Renderer 接口的对象,然后使用 setContentView() 和 addContentView() 。问题是 onDrawImage 发生在显示相机预览的表面支架后面。

这是一个更大的应用程序的一部分,我已经单独测试了一个侧面应用程序中的所有组件。两者之间的唯一区别是较大的应用程序在此之前有几个活动,而侧面应用程序仅将此活动用作主要活动。

更新 答案是切换setContentView和addContentView的顺序。如果是主应用,请使用本文中的顺序:opengl overlay on camera view;但是,如果您来自其他活动,请运行:

setContentView(theCameraCallbackView)
addContentView(theOpenGLView, new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT ))

如果有人可以在这背后提供一些推理,将不胜感激!我在这个两行交换上花了大约 8 个小时,所以很高兴知道这是什么原因(并希望防止其他人出现类似问题)。

4

0 回答 0