2015-11-13 30 views
0

我正在使用RelativeLayout顯示一個簡單的9x9遊戲板。 板中的每個EditText在背景中都有一個自定義的XML形狀,它提供了正方形的顏色和邊框。Wrap_Content在網格形RelativeLayout

的XML是太大了放在這裏,所以這裏有一個鏈接:

pastebin.com/LPDs5MLM

現在,我使用硬編碼值板和方形尺寸。這並不理想,所以我想切換到可擴展的東西。對於板和方形尺寸的硬編碼,我的板看起來像這樣: Link

這是我正在尋找的輸出。然而,當我使用「WRAP_CONTENT」的電路板尺寸,而不是硬編碼的值,我得到這樣的輸出:

Link

這裏的RelativeLayout的是如何建立一個簡單的總結。 中間方(中間行和列)被定義爲:

 <EditText 
     android:gravity="center" 
     android:selectAllOnFocus="true" 
     android:inputType="number" 
     android:imeOptions="actionDone" 
     android:maxLength="1" 
     android:text="M" 
     android:id="@+id/textview44" 
     android:background="@drawable/square" 
     android:layout_height="@dimen/square_size" 
     android:layout_width="@dimen/square_size" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true"/> 

到中間正方形的左邊的方塊被定位到左邊。 每個廣場位於廣場前方的左側或右側。 這對所有9行重複。

 <EditText 
     android:gravity="center" 
     android:selectAllOnFocus="true" 
     android:inputType="number" 
     android:imeOptions="actionDone" 
     android:maxLength="1" 
     android:text="0" 
     android:id="@+id/textview43" 
     android:background="@drawable/square" 
     android:layout_height="@dimen/square_size" 
     android:layout_width="@dimen/square_size" 
     android:layout_toLeftOf="@id/textview44" 
     android:layout_centerVertical="true" 
     /> 

很明顯,我做出RelativeLayout的方式有些問題。有沒有什麼辦法解決這一問題? 道歉,如果這是一個簡單的修復,我很新的Android開發。

回答

0

如何檢查GridView而不是?然後用EditText爲每個單元創建一個自定義適配器和自定義佈局。這樣,您只需在一個單元格中設置一個尺寸,或讓GridView自動設置尺寸。