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