对于我的游戏,我正在考虑在GLSurfaceView
使用 RelativeLayout 的基础上绘制 UI 元素(用于显示已用时间的 TextView、用于暂停/重新启动游戏的按钮)......
到目前为止,我自己直接将所有 UI 元素绘制到 surfaceView,但考虑到 Android UI 提供的广泛选项(例如更改字体和颜色的字体),我决定使用它。
问题:
- 在上面绘制 UI 元素是一种好习惯,
GLSurfaceView
还是直接将所有 UI 内容自己绘制到上面更好GLSurfaceView
? - 我将
TextView
通过使用方法定期(每 16 毫秒)更新 UI 元素(Say)的内容runOnUiThread()
......这很糟糕吗? - 我的游戏会受到强制关闭的影响吗?
这是我用来设置RelativeLayout的测试java代码......glView
是GLSurfaceView
实例。
rl = new RelativeLayout(this);
rl.addView(glView);
tv = new TextView(this);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.ALIGN_TOP);
tv.setLayoutParams(lp);
tv.setText("FPS: 0");
tv.setBackgroundColor(0x4060ff70);
rl.addView(tv);
setContentView(rl);