gpt4 book ai didi

android - 行中具有不同列宽的 GridView

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:23 26 4
gpt4 key购买 nike

我有一个 GridView,我需要在其中显示图像。我应用了以下逻辑:

If 1 Photo : 1 row and 1 col and full width image.
If 2 Photos : 1 row and 2 cols with equal width of both images (half of screen width)
If 3 photos: 2 rows. 1st row will be having 1 col (1 image with full width)
and 2nd row will be having 2 images with equal width (half of screen width)

If 4 or more photos : width will be half for each column.

我已经处理了其余情况,唯一的问题是当我有 3 张照片时为情况 3 设置。我想要 2 行中的 1 张全宽照片和第 2 行中的 2 张等宽照片,但我的代码在第一行中给出了 2 张等宽照片,在第 2 行中给出了 1 张半宽照片。

我只需要使用 Gridview,请告诉我是否可以使用 Gridview。我已经问过这个问题,但没有得到任何回应。如果您在这里有任何想法,请帮助我。

非常感谢。

我想要下面的布局:

enter image description here

最佳答案

见下面的代码

我已经创建了演示并且工作正常

  rv = (RecyclerView) findViewById(R.id.rv);
final MyAdapter adapter = new MyAdapter();
rv.setAdapter(adapter);
GridLayoutManager mLayoutManager = new GridLayoutManager(this, 2);
rv.setLayoutManager(mLayoutManager);

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (adapter.getItemCount() == 1) {
return 2;
} else if (adapter.getItemCount() == 2) {
return 1;
} else if (adapter.getItemCount() == 3) {
if (position == 0) {
return 2;
} else {
return 1;
}
} else {

return 1;

}


}
});

关于android - 行中具有不同列宽的 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35498743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com