android 在GridView中设置固定行高

yv5phkfx  于 2022-12-28  发布在  Android
关注(0)|答案(3)|浏览(167)

我想在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项内部。

ny6fqffe

ny6fqffe1#

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

puruo6ea

puruo6ea2#

在CustomAdapter中

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

rowHigh是必须更改的维

dy2hfwbg

dy2hfwbg3#

如果你使用gridview,那么我认为你也使用了另一个item_layout来显示每一个项目,我猜它是一个ImageView,因为你试图显示图像。因此,你可以限制项目的大小为100 x 100在该项目布局(即android:layout_width="100dp" android:layout_height="100dp"在item_layout)。希望它能有所帮助。

相关问题