我想要一个像可扩展 ListView 一样可折叠的 RecyclerView,并且每个 paren 的子项将呈现一个 GridView 布局管理器。
可能吗?谁能指导我如何做到这一点?谢谢
我想要一个像可扩展 ListView 一样可折叠的 RecyclerView,并且每个 paren 的子项将呈现一个 GridView 布局管理器。
可能吗?谁能指导我如何做到这一点?谢谢
这里有一个完整的例子,说明如何使用这个库实现一个可扩展的 GridView 。
基本上,您使用该库将您的项目分组为部分,以便为每个部分设置一个标题,但您可以自己实现它。
然后添加 a GridLayoutManager
,定义每行有多少列(在本例中为 2 列)并将标题设置为每行 2 列的跨度大小,并将子项设置为每行 1 列的跨度大小:
GridLayoutManager glm = new GridLayoutManager(getContext(), 2);
glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(sectionAdapter.getSectionItemViewType(position)) {
case SectionedRecyclerViewAdapter.VIEW_TYPE_HEADER:
return 2;
default:
return 1;
}
}
});
recyclerView.setLayoutManager(glm);
为了展开/折叠这些部分,请检查示例中变量expanded
的使用。
您可以使用Expandable RecyclerView 这个例子。它提供了一个可扩展的 RecyclerView,其中包含可以单独展开以在二维滚动网格中显示其子项的组项。可以选择每个网格项目。
它是这样工作的:每个 ChildViewHolder 对象从 RecyclerView 适配器接收一个数据数组以显示在网格行中。然后它将其行的布局分解为相同大小的矩形单元格。每个单元格显示一条数据。
希望这会帮助任何寻找这个的人。
您可以使用Expandable RecyclerVew
and for children view 使用 other RecyclerView
withGridLayoutManager