2010-10-26 36 views
5

我完全不熟悉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

回答

6

佈局是將OpengGL內容與按鈕,標籤和其他類型的視圖對象結合的正確方法。您可以將佈局合併到其他佈局中......因此,您可以逐步組合線性佈局或您喜歡的任何其他佈局來構建屏幕。

例如,可以使用一個相對佈局設置的按鈕(B1,B2),並在屏幕的其餘部分:

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

然後內部區域1,則可以使用一個水平線性佈局的3個主要欄目

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

裏面C2可以放置SurfaceView,和C1中的文本標籤

裏面C3將是一個新的垂直線性佈局中顯示的文本LA貝爾。

+----+ 
| t1 | 
+----+ 
| t2 | 
+----+ 
| t3 | 
+----+ 
相關問題