gpt4 book ai didi

android - 使用 GridLayoutManager (RecyclerView) 将最后一个网格设置为全宽

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:24 24 4
gpt4 key购买 nike

我正在使用 RecyclerViewGridLayoutManager 以网格模式显示一些项目。它运行良好,在网格内的 2 列中显示项目。

但是当项目的数量是奇数时,我希望最后一个项目必须是全宽的(与 RecyclerView 的宽度相同)。

是否可以使用 GridLayoutManager 来完成,或者我必须构建自定义设计?

请帮忙。

最佳答案

您可以使用 GridLayoutManager 中的 layoutManager.setSpanSizeLookup 方法

下面是使用方法

final GridLayoutManager layoutManager = new GridLayoutManager(context, 2);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (mAdapter != null) {
switch (mAdapter.getItemViewType(position)) {
case 1:
return 1;
case 0:
return 2; //number of columns of the grid
default:
return -1;
}
} else {
return -1;
}
}
});

现在您必须确定适配器中的viewType

@Override
public int getItemViewType(int position) {
return (position == getItemCount() - 1) ? 0 : 1; // If the item is last, `itemViewType` will be 0
}

继续构建更好的应用!!

关于android - 使用 GridLayoutManager (RecyclerView) 将最后一个网格设置为全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39303632/

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