将SurfaceView与其他视图(如TextView和按钮)结合起来
问题描述:
我完全不熟悉android编程(只是做了一些教程/阅读开发指南等),以及每个新手我想做一个无用的游戏:-)。将SurfaceView与其他视图(如TextView和按钮)结合起来
目前我正在努力与不同的意见的布局。类似于我制作的课程,它扩展了SurfaceView
并将其放入FrameLayout
。围绕此SurfaceView
我想有其他视图的Buttons
& TextViews
。 事情是这样的:
-----------------------------------------------
| TextView | SurfaceView | TextView |
| | | |
------------ ------------
| | | TextView |
| | | |
| | ------------
| | | TextView |
| | | |
| | ------------
| | | |
| | | |
-----------------------------------------------
| Button Button |
-----------------------------------------------
我已经成功地做这样的事情了FrameLayout
和RelativeLayouts
(贴在TextViews
在屏幕的边缘),但我想更好地控制SurfaceView
的大小因为它应该是我将绘制的对象的宽度和高度的倍数。我已经尝试将layout_width
和layout_height
设置为一些dp值,但是当我开始以0,0绘画时,它仍然位于左上角(TextView
是..)。
那么,实现上述布局的最佳做法是什么?使用什么布局?或者我应该更好地在我的SurfaceView
的draw()
函数内画出我的文字?
答
布局是将OpengGL内容与按钮,标签和其他类型的视图对象结合的正确方法。您可以将布局合并到其他布局中......因此,您可以逐步组合线性布局或您喜欢的任何其他布局来构建屏幕。
例如,可以使用一个相对布局设置的按钮(B1,B2),并在屏幕的其余部分:
+-----------+
| Zone 1 |
+-----+-----+
| b1 | b2 |
+-----+-----+
然后内部区域1,则可以使用一个水平线性布局的3个主要栏目
+----+----+----+
| c1 | c2 | c3 |
+----+----+----+
里面C2可以放置SurfaceView,和C1中的文本标签
里面C3将是一个新的垂直线性布局中显示的文本LA贝尔。
+----+
| t1 |
+----+
| t2 |
+----+
| t3 |
+----+
你应该发布你的xml,让人们可以更好地了解这个问题。 – MikeIsrael 2012-10-14 13:32:46