GLSurfaceView上的操作栏

时间:2014-07-08 06:59:38

标签: android opengl-es android-actionbar

我在我的应用中使用开放式GL。我还在我的活动中创建了一个操作栏,将其视图设置为表面视图。但是我无法获得操作栏。它落后于我的表面吗?我不知道。我只是无法得到它。我当然编写了菜单的xml文件,并实现了onCreateOptionsMenu。为什么我看不到动作栏?

2 个答案:

答案 0 :(得分:2)

我之前有过这个问题。我在MainActivity中使用setContentView(myGlSurfaceView);。 最终,我发现在GlSurfaceView上放置一个操作栏并不起作用。相反,使用this post {的修改可以将他们的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

修改: 对于未来的观众,我已经对此进行了测试,它也适用于工具栏(以及任何视图)!

答案 1 :(得分:0)

谢谢内森。它完美地运作。 但是,如果您还想显示菜单选项,则需要添加以下两个代码行:

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