android - GLSurfaceView 上的操作栏

标签 android opengl-es android-actionbar

我在我的应用程序中使用 open GL。我还在我的 Activity 中创建了一个操作栏,将其 View 设置为表面 View 。但是我无法获得操作栏。它在我表面的后面吗?我不知道。我只是无法得到它。当然,我已经编写了菜单的 xml 文件,并且还实现了 onCreateOptionsMenu。为什么我看不到操作栏?

最佳答案

我之前也遇到过这个问题。我一直在 MainActivity 中使用 setContentView(myGlSurfaceView); 。 最终,我发现在 GlSurfaceView 上放置操作栏不起作用。相反,使用 this 的修改帖子一可以将其 GlSurfaceView 嵌入到线性布局中:

setContentView(R.layout.MyLinearLayout);
LinearLayout l = (LinearLayout) findViewById(R.id.MyLinearLayout);
GLSurfaceView s = new GLSurfaceView(this);
s.setRenderer(myGLRenderer);
l.addView(s, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

您现在可以像平常一样向您的应用添加操作栏。请注意,addView() 参数定义了 GlSurfaceView 有多大。了解它 here .

编辑: 对于 future 的查看者,我已经对此进行了测试,它也适用于工具栏(实际上是任何 View )!

关于android - GLSurfaceView 上的操作栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24625545/

相关文章:

android - 使用 HTC wildfire 进行 android 开发

安卓。如何在 Surface(OpenGL)上播放视频

android - ActionBar 列表导航重叠 fragment

android - 为什么我的 Activity 会扩展 ActionBarActivity?

android - MenuItem 的选中状态未通过其图标正确显示

android - 在闪屏 Activity 期间进入全屏

android - java.lang.ClassNotFoundException : android. 支持.v7.app.AppCompatViewInflater

android - 使用不同参数调用它时的状态小部件更新,而不是更新?

ios - 在 OpenGL ES 1.1 中绘制二维三角形时如何定义顺序?

java - OPENGL ES glTranslatef 问题