我试图通过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 ))
如果有人可以在此背后提供一些推理,我们将不胜感激!我花了大约八个小时进行这种双线交换,所以很高兴知道这是什么原因(并希望防止其他人出现类似问题)。