Android: 设置GridView中1行与其他行不同的高度
Android: set the height of 1 row different from others in GridView
找了很久,如何设置只有1行的高度和其他的不一样:
1 2 3
- - -
4 5 6
- - -
7 8 9
我有 9 件商品:
1、2 的高度为 50dp。所有其他项目的高度均为 30 dp。
我找到了将第一行设为 50dp 的解决方案,但这样一来,第 3 项也变成了 50dp。
我能够在 gridview 适配器中找到“3”,但是当我将其高度 LayoutParam
更改为 30dp 时,垂直间距会发生变化。我发现垂直间距总是与最短的元素对齐(我不想要)。
我该怎么办?
将您的 gridview 项放入其他布局中,例如 Linearlayout,并在您找到第 3 个项时将其放入适配器中,只需更改该自定义项的 layout_bounds。
<LinearLayout
<CustomItemLayout>
</LinearLayout>
并在 gridviewadapter 内部
if(position == 3){
LayoutParams newParams = ...;
holder.customview.setlayoutparam();
}
找了很久,如何设置只有1行的高度和其他的不一样:
1 2 3
- - -
4 5 6
- - -
7 8 9
我有 9 件商品: 1、2 的高度为 50dp。所有其他项目的高度均为 30 dp。
我找到了将第一行设为 50dp 的解决方案,但这样一来,第 3 项也变成了 50dp。
我能够在 gridview 适配器中找到“3”,但是当我将其高度 LayoutParam
更改为 30dp 时,垂直间距会发生变化。我发现垂直间距总是与最短的元素对齐(我不想要)。
我该怎么办?
将您的 gridview 项放入其他布局中,例如 Linearlayout,并在您找到第 3 个项时将其放入适配器中,只需更改该自定义项的 layout_bounds。
<LinearLayout
<CustomItemLayout>
</LinearLayout>
并在 gridviewadapter 内部
if(position == 3){
LayoutParams newParams = ...;
holder.customview.setlayoutparam();
}