我有一个gridview,其中我有三个colums中的很多项目。我想增加它们之间的间距。我怎么能在android中做到这一点?
答案 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)
我正在尝试使用
<强>机器人:horizontalSpacing 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);