9

我正在嘗試爲我的應用程序中的某些項目創建表格/網格,並且我希望在每個單元格周圍都有一個邊框來將項目分開,並使設置與項目保持一致的關聯。這個應用程序將用於工業環境中,可能有不熟悉Android的人需要使用它,因此試圖儘可能簡化它。GridLayout,TableLayout或GridView中單元格的邊框線?

表/格將包含TextViewEditTextSpinner,和Button,並且也將滾動(經由ScrollView親本)。

我讀了關於GridView,發現它(似乎)只能以編程方式獲得項目,請糾正我,如果我錯了。我覺得這是不必要的,因爲我知道我想要什麼東西以及在哪裏。此外,我還沒有嘗試以編程方式將項目添加到佈局,所以我想我會先嚐試其他選項。此外,如果自動顯示邊框線,或者您可以顯示邊框線,則GridView documentation不會說某種方式或其他方式。

我從TableLayout開始,並能夠得到除邊界線以外的所有東西。我嘗試android:divider以獲得線路,但沒有奏效。有一個想法是創建一組帶有黑色背景和〜2dp寬度/高度的TextView,以製作我自己的邊框線。這感覺像是一個巨大的浪費。然後我也閱讀TableLayout documentation,發現這個:「TableLayout容器不顯示其行,列或單元格的邊框線。」

然後我嘗試了GridLayout並得到了與TableLayout相同的結果。我試過paddingmargins,都沒有工作。此外,GridLayout documentation指出:「網格由一組無限細線組成,這些線將觀看區域分隔爲多個單元格。」

我的問題是:

  1. 有沒有辦法,我在TableLayoutGridLayout將通過XML給我邊界線錯過的attirbute?

  2. 如果不是,那麼GridView會給我我想要的行嗎?

  3. 我可以將所有前面提到的項目添加到GridView嗎?

回答

5

有沒有辦法,我在TableLayout或網格佈局錯過了一個attirbute將通過XML給我邊界線?

如果沒有,那麼會在GridView給我我想要的線路?

我是否能夠添加所有perviously提及的事項,我想在GridView?

是的,雖然Spinner有什麼用,但我不能說。

最簡單的方法就是讓您尋找的線條是讓TableLayoutGridLayout的每個單元格成爲某個包含該單元格的窗口小部件的容器,背景是你的線條。 A ShapeDrawable可以在XML中爲該背景定義,根據單元格的實際需求可以很好地調整大小。

+0

我將看看'GridLayout'結合你提到的背景/ ShapeDrawable作爲解決方案。謝謝你的信息! – TronicZomB 2013-04-24 18:47:27

8

實際上,我是能夠實現通過設置android:background="#000000"GridLayout視圖中,然後在我設置的子項中的android:background="#8CDD81"(只是一些綠色)所需的外觀和android:layout_margin="2dp"結合我能得到的「網格」我想要的線。感謝CommonsWare讓我以一種新的方向思考,並轉化爲解決方案。

編輯: 這並不像預期的那樣工作。您需要android:layout_alignLeft/Right,這些只能通過RelativeLayout才能獲得,以便在子項目上獲得正確的寬度。還沒有使用這個想法測試這個想法,child itemsRelativeLayout之內GridLayout

+0

感謝您讓我以正確的方向思考。我能夠通過使用(在我的情況下)'LinearLayout'嵌套在彼此內部,具有不同的背景顏色和邊距來實現「網格線」效果。 – ianthetechie 2014-11-11 01:52:45