Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将GridView中的视图合并到中心?_Android_Gridview - Fatal编程技术网

Android 如何将GridView中的视图合并到中心?

Android 如何将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

我正在使用GridView创建颜色选择器。每个单元格内都有一个圆圈。即使我为layout_width和layout_height设置了换行内容,列之间也总是有间隙。我想把中心的细胞联合起来,或者消除这些间隙

这是我的GridView的布局xml

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