Android:在GridView中设置与其他行不同的1行高度



我已经搜索了很长时间,如何将的高度设置为只有一行与其他行不同:

1 2 3
- - -
4 5 6
- - -
7 8 9

我有9项:1、2具有50dp的高度。所有其他项目的高度均为30 dp。

我找到了一个解决方案,将第一行设置为50dp,但通过这种方式,项目3也变成了50dp。

我可以在gridview适配器中找到"3",但当我将其高度LayoutParam更改为30dp时,垂直间距会发生变化。我发现垂直间距总是与最短的元素对齐(我不想要(。

我该怎么办?

将您的网格视图项放在其他布局中,例如Linearlayout,并且每当您找到第三个项时,只需更改该自定义项的layout_bounds即可。

<LinearLayout
<CustomItemLayout>
</LinearLayout>

和内部网格视图适配器

if(position == 3){
LayoutParams newParams = ...;
holder.customview.setlayoutparam();
}

最新更新