43 votes

Augmenter l'espacement de la grille dans Android

J'ai une grille dans laquelle j'ai beaucoup d'éléments dans trois colonnes. Je veux augmenter l'espacement entre eux. Comment puis-je faire cela dans Android?

136voto

Paresh Mayani Points 48123

Vous pouvez utiliser android:verticalSpacing et android:horizontalSpacing dans la balise GridView et fournir l'espacement selon vos besoins.

Par exemple:

   <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>

3voto

j'essayais d'utiliser

android:espacement horizontal android:espacement vertical

et cela ne m'a donné aucun succès.

Donc, en gros, j'ai ajouté des marges à tous mes éléments. C'est peut-être un meilleur point là-bas, car vous pouvez configurer comme TOUS les éléments de cette façon.

Voilà à quoi ça ressemble à ma façon

 <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"/>

J'ai donc six images dans GridLayout. Deux d'affilée et trois rangées.

2voto

utilisez ceci dans le BaseAdapter

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X