2013-03-28 25 views
0

我正在試圖在僅限於肖像的佈局中的黑色背景上製作8x8矩陣的彩色方塊。我需要廣場的大小相等,整體矩陣爲屏幕寬度的60%,高度相等。我還需要根據代碼動態地控制每個方塊的顏色,如果您願意,可以將其稱爲模式設置代碼。這裏是我所需要的最終產品看起來像一個例子:Android佈局困難 - 參數和內容的動態控制。最佳的代碼方式?

Screen example

我一直在研究這樣做的不同的方式,並希望在最好的辦法了一些建議。以下是我的一些想法:

1)使用GridLayout(不是GridView),並將每個單元格的背景設置爲所需的顏色。用java來控制這應該不難,但是如何執行正確的維度呢?我是否需要爲每個網格單元填充一定尺寸的東西,還是可以使用layout_weight屬性來控制尺寸?

2)使用RelativeLayoutLinearLayoutImageView的組合並顯示本地保存的彩色正方形圖像。我可以使用layout_weight來控制這些圖像的大小,如果這些圖像太小,它們會被拉伸以填充所需的尺寸? (我正在考慮更大的平板電腦屏幕)。

我真的需要從某人處獲得一些示例代碼來實現我所需要的非常簡單的版本(例如,我可以在屏幕中心繪製一個正方形動態控制)。很顯然,我可以將其擴展到我的具體要求。如果需要更多的細節或代碼,我會很樂意發佈它們。

+0

我覺得你確實找GridView和[this](http://stackoverflow.com/questions/6557516/making-grid-view-items-square)解決方案。 –

回答

0

也許你可以創建一個自定義的View對象,並在onDraw方法中渲染相應的位圖?似乎過度使用佈局對象,除非您打算做的不僅僅是渲染顏色的方塊?

編輯:或者,我曾經在以下發布中使用信息以編程方式構建佈局網格。這不是正是你需要什麼(它會產生許多水平的「細胞」作爲是必要的),但應該爲有見地的閱讀上操縱佈局尺寸:

Line-breaking widget layout for Android

+0

onDraw?我以前沒有用過。我可以用它來繪製64個彩色方塊的矩陣,然後將它顯示在屏幕的中心? – David

+0

查看[Android開發指南中的Shape Drawable示例](http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable) 查看關於創建自定義視圖的簡單示例。關於這一點很酷的是,您可以將標準的XML佈局參數應用於寬度,居中等,而只能在View實現中處理內容本身。您還可以在視圖中定義可添加的額外XML參數。 –

+0

我一直在看onDraw,它似乎會爲我做這項工作。謝謝! – David