2013-07-10 8 views
12

seguito è il mio codice XML:Quali stretchMode da utilizzare in GridView su Android

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gridviewgallery" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:columnWidth="@dimen/gridview_column_width" 
    android:numColumns="auto_fit" 
    android:verticalSpacing="0dp" 
    android:horizontalSpacing="0dp" 
    android:stretchMode="columnWidth" 
    android:gravity="center" 
    android:background="#444444" 
/> 

Quando uso Android: stretchMode = "columnWidth", si crea un divario tra le colonne (anche se si riempie la larghezza dello schermo) E se uso android: stretchMode = "none", viene allineato a sinistra e c'è una fessura a sinistra sul lato destro dello schermo (sebbene ora non ci sia spazio tra le colonne) Problema che voglio entrambi: Per riempire la larghezza dello schermo inoltre non c'è spazio tra le colonne. Come raggiungerlo?

+0

Aumentare il numero di colonne. –

risposta

5

E 'molto semplice tizio, basta rimuovere la riga

android:columnWidth="@dimen/gridview_column_width" 

è possibile specificare qualsiasi numero di colonne, io sono certo numero di colonna = 4

android:numColumns = "4" 

Questo sta lavorando bene per me

11

Una combinazione di android:numColumns="auto_fit"android:stretchMode="columnWidth" e android:columnWidth="60dp" ti darà un layout che si adatta alle diverse dimensioni dello schermo. Molto meglio che riparare il numero di colonne. Si veda l'esempio qui sotto ...

<GridView 
     android:id="@+id/tablegrid" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffff7965" 
     android:horizontalSpacing="5dp" 
     android:verticalSpacing="5dp" 
     android:layout_marginStart="5dp" 
     android:layout_marginLeft="5dp" 
     android:numColumns="auto_fit" 
     android:stretchMode="columnWidth" 
     android:gravity="center" 
     android:columnWidth="60dp" 
     /> 
+0

Ho trascorso diversi giorni a cercare questa soluzione! Eccellente! – Alexey

0

So che questa domanda è un po 'vecchio, ma qui è una risposta che ho trovato sperando che questo aiuta a qualcun altro, solo per uso android:stretchModespacingWidthUniform come si dice nella documentazione here sarà allungare la spaziatura tra colonne uguali.

fare riferimento al collegamento sopra per ulteriori informazioni.

Problemi correlati