Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GLSURFACHEVIEW上方的操作栏_Android_Opengl Es_Android Actionbar - Fatal编程技术网

Android GLSURFACHEVIEW上方的操作栏

Android GLSURFACHEVIEW上方的操作栏,android,opengl-es,android-actionbar,Android,Opengl Es,Android Actionbar,我正在我的应用程序中使用OpenGL。我还在“活动”中创建了一个动作栏,将其视图设置为曲面视图。但是我无法获得动作栏。它在我的表面后面吗?我不知道。我就是弄不到。当然,我已经编写了菜单的xml文件,还实现了onCreateOptions菜单。为什么我看不到操作栏?我之前遇到过这个问题。我一直在使用setContentView(myGlSurfaceView)在我的主要活动中。 最终,我发现在GlSurfaceView上放置一个动作栏是不起作用的。相反,通过修改post,用户可以将其GLSURFA

我正在我的应用程序中使用OpenGL。我还在“活动”中创建了一个动作栏,将其视图设置为曲面视图。但是我无法获得动作栏。它在我的表面后面吗?我不知道。我就是弄不到。当然,我已经编写了菜单的xml文件,还实现了onCreateOptions菜单。为什么我看不到操作栏?

我之前遇到过这个问题。我一直在使用
setContentView(myGlSurfaceView)在我的主要活动中。
最终,我发现在GlSurfaceView上放置一个动作栏是不起作用的。相反,通过修改post,用户可以将其GLSURFACHEVIEW嵌入到线性布局中:

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()参数定义了GLSURFACHEVIEW的大小。读一读

编辑
对于未来的观众,我已经测试过了,它也适用于工具栏(以及任何视图)

谢谢你,内森。它工作得很好。 但如果您还想显示菜单选项,则需要添加以下两行代码:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);