2011-10-24 13 views

risposta

109

È possibile utilizzare android:verticalSpacing e android:horizontalSpacing nel tag GridView e di fornire la spaziatura secondo il vostro requisito.

Ad esempio:

<GridView 
     android:layout_height="wrap_content" 
     android:id="@+id/gridView1" 
     android:layout_width="match_parent" 
     android:numColumns="auto_fit" 
     android:horizontalSpacing="10dp"  // space between two items (horizontal) 
     android:verticalSpacing="10dp">  // space between two rows (vertical) 
    </GridView> 
+0

la risposta che hai indicato qui fornisce spaziatura tra gli elementi della griglia, ma come faccio a ottenere la spaziatura tra gli elementi della prima riga della griglia e la barra delle azioni? –

+0

@Ramswaroop non puoi usare il margine per questo? –

+0

Ho provato con 'marginTop' sull'elemento della griglia ma non funziona, ho anche applicato' paddingTop' in 'GridView' e ho ottenuto spaziatura, ma quando scorrono ancora la spaziatura, vedere lo screenshot per maggiore chiarezza http: // imgur. com/LBrB6N5 –

2

uso questo nel BaseAdapter

imageView.setLayoutParams(new GridView.LayoutParams(150, 150)); 
imageView.setPadding(1, 1, 1, 1); 
+0

funziona? aggiungendo nell'adattatore –

1

Stavo cercando di utilizzare

Android: horizontalSpacing Android: verticalSpacing

e mi ha dato alcun successo.

Quindi in pratica ho aggiunto margini a tutti i miei elementi. Forse, è un punto migliore, perché puoi configurare come OGNI elemento in questo modo.

Questo è ciò che sembra nel mio modo

<GridLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerInParent="true" 
android:columnCount="2" 
android:rowCount="3"> 
<ImageView 
    android:id="@+id/imageView2" 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    app:srcCompat="@drawable/ic_recipe" 
    android:layout_marginBottom="30dp" 
    android:layout_marginRight="15dp"/> 

<ImageView 
    android:id="@+id/imageView3" 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    app:srcCompat="@drawable/ic_add_recipe" 
    android:layout_marginBottom="30dp" 
    android:layout_marginLeft="15dp"/> 

<ImageView 
    android:id="@+id/imageView4" 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    app:srcCompat="@drawable/ic_favorite_recipies" 
    android:layout_marginBottom="30dp" 
    android:layout_marginRight="15dp"/> 

<ImageView 
    android:id="@+id/imageView6" 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    app:srcCompat="@drawable/ic_information" 
    android:layout_marginBottom="30dp" 
    android:layout_marginLeft="15dp"/> 

<ImageView 
    android:id="@+id/imageView5" 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    app:srcCompat="@drawable/ic_settings" 
    android:layout_marginRight="15dp"/> 

<ImageView 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    app:srcCompat="@drawable/ic_exit" 
    android:layout_marginLeft="15dp"/> 

così ho sei immagini in GridLayout. Due di fila e tre file.

Problemi correlati