在GridView中设置固定行高

问题描述 投票:0回答:3

我想在 GridView 中渲染图像。这些图像的尺寸均相同 (250x250)。但是,我想在 GridView 中将它们显示在 100x100 的正方形中。

<GridView 
        android:id="@+id/sectionListView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:numColumns="auto_fit" 
        android:verticalSpacing="10dp" 
        android:horizontalSpacing="10dp" 
        android:columnWidth="100dp" 
        android:stretchMode="none" 
        >

    </GridView >

上面是网格视图。我将 columnWidth 设置为 100。这实际上是有效的,但由于某种原因,高度始终为 120,在 250px 图像的顶部和底部留下水平黑条。不知何故,顶部和底部都有 10 个像素。更改垂直和水平间距没有帮助,因为这会影响元素之间的间距。顶部和底部的这些黑条位于 gridView 项目内部。

android android-gridview
3个回答
0
投票

我会研究 ImageView,我假设您将在适配器中使用它来显示图像。您应该将 android:layout_width 和 android:layout_height 设置为 100dp 并确保 android:scaleType 设置为 centerCrop。


0
投票

在自定义适配器中

view.setLayoutParams(new GridView.LayoutParams(GridView.AUTO_FIT, rowHigh));

rowHigh 是您必须更改的尺寸


0
投票

如果您正在使用gridview,那么我认为您还在使用另一个item_layout来显示每个项目,我猜它是一个ImageView,因为您正在尝试显示图像。因此,您可以在该项目布局中将项目的大小限制为 100 x 100(即 item_layout 中的

android:layout_width="100dp" android:layout_height="100dp"
。)希望它有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.