5

我对 android 编程完全陌生(只是做了一些教程/阅读了开发指南等),并且作为每个新手我都想做一个无用的游戏:-)。

目前我正在为不同视图的布局而苦苦挣扎。与示例类似,我创建了一个扩展 aSurfaceView并将其放入 a 的类FrameLayout。围绕这一点SurfaceView,我想拥有其他 View 之类的Buttons& TextViews。像这样的东西:

-----------------------------------------------
| TextView | SurfaceView           | TextView |
|          |                       |          |
------------                       ------------
|          |                       | TextView |
|          |                       |          |
|          |                       ------------
|          |                       | TextView |
|          |                       |          |
|          |                       ------------
|          |                       |          |
|          |                       |          |
-----------------------------------------------
| Button                             Button   |
-----------------------------------------------

FrameLayout我已经设法用and RelativeLayouts(粘贴在屏幕边缘)做这样的事情,TextViews但我想更好地控制它的大小,SurfaceView因为它应该是对象的宽度和高度的倍数我会画进去的。我已经尝试设置layout_width和设置layout_height一些 dp 值,但是当我开始在 0,0 处绘画时,它仍然在最左上角(在哪里TextView..)。

那么,实现上述布局的最佳实践是什么?使用什么布局?draw()或者我应该更好地在 my 的函数中绘制我的文本SurfaceView

4

1 回答 1

6

布局是将 OpenGL 内容与按钮、标签和其他类型的视图对象结合起来的正确方式。您可以在其他布局中组合布局......因此您可以逐步组合线性布局或您喜欢的任何内容来构建您的屏幕。

例如,您可以使用相对布局来设置按钮(b1、b2)和屏幕的其余部分:

+-----------+
|  Zone 1   |
+-----+-----+
| b1  | b2  |
+-----+-----+

然后在 Zone 1 内,您可以对 3 个主要列使用水平线性布局

+----+----+----+
| c1 | c2 | c3 |
+----+----+----+

在 c2 中,您可以放置​​ SurfaceView,在 c1 中放置文本标签

在 c3 内部将是一个新的垂直线性布局来显示文本标签。

+----+
| t1 |
+----+
| t2 |
+----+
| t3 |
+----+
于 2012-10-18T15:19:03.067 回答