增加android中的网格间距

时间:2011-10-24 04:52:14

标签: android

我有一个gridview,其中我有三个colums中的很多项目。我想增加它们之间的间距。我怎么能在android中做到这一点?

3 个答案:

答案 0 :(得分:124)

您可以在GridView代码中使用 android:verticalSpacing android:horizontalSpacing ,并根据您的要求提供间距。

例如:

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

答案 1 :(得分:3)

我正在尝试使用

<强>机器人:horizo​​ntalSpacing android:verticalSpacing

它没有给我带来任何成功。

所以基本上我已经为所有元素添加了边距。也许,这是一个更好的观点,因为你可以通过这种方式配置像每个元素。

这就是我的样子

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

所以我在GridLayout中有六个图像。连续两排三排。

答案 2 :(得分:2)

在BaseAdapter中使用它

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