Android 如何将GridView中的视图合并到中心?
我正在使用GridView创建颜色选择器。每个单元格内都有一个圆圈。即使我为layout_width和layout_height设置了换行内容,列之间也总是有间隙。我想把中心的细胞联合起来,或者消除这些间隙 这是我的GridView的布局xmlAndroid 如何将GridView中的视图合并到中心?,android,gridview,Android,Gridview,我正在使用GridView创建颜色选择器。每个单元格内都有一个圆圈。即使我为layout_width和layout_height设置了换行内容,列之间也总是有间隙。我想把中心的细胞联合起来,或者消除这些间隙 这是我的GridView的布局xml <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" androi
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/color_picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:numColumns="3" />
GridView适配器
@Override
public View getView(int position, View convertView, ViewGroup viewGroup) {
CircleView circleView = new CircleView(mContext);
circleView.setCircleColor(mColors.get(position));
circleView.setLayoutParamsInDp(50, 50);
return circleView;
}
这是输出。如何删除圆之间的间隙
使用这个
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/color_picker"
android:numColumns="3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:horizontalSpacing="0dip"
android:verticalSpacing="0dip">
</GridView>
我认为问题出在GridView的家长身上。添加另一个布局作为父布局,并在其中添加宽度和高度作为包裹内容的GridView 您能为gridview发布项目视图的xml吗?@kam1234我没有为网格视图使用项目视图,我已经创建了一个圆形视图,并将其放入适配器类中的gridview中。我发布了circle视图和适配器类。你能发布你的适配器类吗尝试使用下面的答案尝试将其添加到gridview android:adjustViewBounds=“true”我添加了android:adjustViewBounds=“true”但是没有任何改变。我可以通过添加父布局并在开始和结束时添加填充来解决这个问题。我添加了父布局并在开始和结束时添加了填充。现在它正在工作。但是我想知道有没有什么方法可以自动做到这一点。当您使用GridView作为父级时,无论您使用匹配父级还是包装内容,它都必须占用所有可用的空间。如果它是子对象,则包装内容实际上可以工作,并且不使用额外的空间。然而,没有测试,但我认为固定的宽度和高度也可以解决这个问题。
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/color_picker"
android:numColumns="3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:horizontalSpacing="0dip"
android:verticalSpacing="0dip">
</GridView>