我正在使用OpenGL在我的Android应用程序中渲染游戏视图。游戏是基于回合的,我希望在界面上添加一些按钮。我更喜欢使用标准的Android小部件,这些小部件采用XML生成的布局(或者,如果必须的话,采用硬编码布局),并将OpenGL视图作为该布局的一部分放在自己的窗口中。
关于这一点,我有3个问题:
1:这样的事情可能吗?我做了一些半心半意的尝试,但到目前为止没有运气。
2:这样的事情是否可取?例如,它是否会对使用基于OpenGL的自制软件小部件带来显着的性能损失?
3:是否可以将特定参数传递给在XML布局中创建的实例?例如,我当前的OpenGL视图在其构造函数中有三个参数;当它是布局的一部分时,我是否可能以某种方式调用具有特定参数的特定构造函数?
答案 0 :(得分:14)
这些事情不仅可行,而且司空见惯! OpenGL SurfaceView只是Android中的另一个View,你可以在它上面叠加你想要的任何东西。在我正在构建的应用程序中,我们使用OpenGL渲染有趣的背景,同时将整个菜单叠加在它上面。对于OpenGL本身没有更重要的性能问题。您可以使用xml布局或以编程方式生成所有ui元素,也可以将两者结合使用。即使您想使用xml来实例化您的ui,您也可以访问这些元素并根据状态对其进行操作。
答案 1 :(得分:3)