GridView中的额外空间

时间:2014-07-15 12:47:55

标签: android android-layout android-gridview android-gridlayout

我正在尝试删除gridview中图像中显示的额外空间。

enter image description here

我的XML文件格式如下:

 <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <GridView
                android:id="@+id/gallery_grid"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:gravity="center"
                android:horizontalSpacing="10dp"
                android:numColumns="2"
                android:stretchMode="columnWidth" />
</FrameLayout>

注意:我尝试更改horizontalSpacing属性中的值,但似乎没有做任何事情。我希望图像在纵向模式下显示为2列,在横向模式下显示3列。我不想要的是图像中浪费的空间。我想让他们伸展并消除浪费的空间。

3 个答案:

答案 0 :(得分:0)

试试这个:

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <GridView
            android:id="@+id/gallery_grid"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:horizontalSpacing="10dp"
            android:numColumns="2"
            android:stretchMode="columnWidth" />
</FrameLayout>

您要求系统用2列填充所有屏幕,因此我认为他覆盖了属性android:horizontalSpacing

答案 1 :(得分:0)

这就是魔术发生的地方:

imageView.setLayoutParams(new GridView.LayoutParams(85, 85));

getView()适配器的GridView方法中。增加值(宽度,高度)以满足您的要求

答案 2 :(得分:0)

试试这个

FragmentPagerAdapter