将SurfaceView与其他视图(如TextView和按钮)结合起来

问题描述:

我完全不熟悉android编程(只是做了一些教程/阅读开发指南等),以及每个新手我想做一个无用的游戏:-)。将SurfaceView与其他视图(如TextView和按钮)结合起来

目前我正在努力与不同的意见的布局。类似于我制作的课程,它扩展了SurfaceView并将其放入FrameLayout。围绕此SurfaceView我想有其他视图的Buttons & TextViews。 事情是这样的:

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

我已经成功地做这样的事情了FrameLayoutRelativeLayouts(贴在TextViews在屏幕的边缘),但我想更好地控制SurfaceView的大小因为它应该是我将绘制的对象的宽度和高度的倍数。我已经尝试将layout_widthlayout_height设置为一些dp值,但是当我开始以0,0绘画时,它仍然位于左上角(TextView是..)。

那么,实现上述布局的最佳做法是什么?使用什么布局?或者我应该更好地在我的SurfaceViewdraw()函数内画出我的文字?

+0

你应该发布你的xml,让人们可以更好地了解这个问题。 – MikeIsrael 2012-10-14 13:32:46

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

例如,可以使用一个相对布局设置的按钮(B1,B2),并在屏幕的其余部分:

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

然后内部区域1,则可以使用一个水平线性布局的3个主要栏目

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

里面C2可以放置SurfaceView,和C1中的文本标签

里面C3将是一个新的垂直线性布局中显示的文本LA贝尔。

+----+ 
| t1 | 
+----+ 
| t2 | 
+----+ 
| t3 | 
+----+