2012-08-12 82 views
1

我有一個gridview,有一定數量的列(比方說,5)。但是,如果我在映像適配器中設置了6個映像,則第6個映像會自動進入一個新行,並被分配第一列。行中的中心gridview列

A B C D E 
    F 

下面是我爲GridView XML:我正在尋找的行爲將自動(或程序,不知何故)中心,對於例如新行中多餘的子元素......這樣是:

<GridView android:id="@+id/gridview" android:layout_width="fill_parent" 
android:layout_height="wrap_content" android:columnWidth="10dip" 
android:numColumns="10" android:horizontalSpacing="10dip" 
android:stretchMode="columnWidth" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:verticalSpacing="3dp" 
android:layout_below="@+id/TopLayout" 
android:layout_gravity="center"></GridView> 

回答

0

您無法更改給定行的列數。我能想到的唯一技巧是使用奇數列並在適配器所基於的列表中插入void條目。例如。如果您有5列和6張圖像,請在位置5和6插入2個無效條目,以便您的最後一幅圖像居中。

+0

所以這是編程的答案...好的......是否可以將我的適配器的內容設置爲混合(例如:特定位置的圖像,以及例如空白文本視圖,作爲間隔符),還是可以都必須是相同的類型? – MaxOvrdrv 2012-08-12 00:53:32

+0

每個單元格的內容都是在適配器的getView()方法中生成的,並且只能有一個。但是,您可以編碼以對特定情況做出不同的反應。例如,如果你的位圖是空的,那麼文本應該居中。但是你必須以編程方式處理它,而不是使用xml。 – znat 2012-08-12 13:33:16