【发布时间】:2015-09-17 20:09:18
【问题描述】:
我想要一个像可展开 ListView 一样可折叠的 RecyclerView,并且每个 paren 的子项将呈现一个 GridView 布局管理器。
有可能吗?谁能指导我如何做到这一点? 谢谢
【问题讨论】:
标签: gridview android-recyclerview expandable recyclerview-layout
我想要一个像可展开 ListView 一样可折叠的 RecyclerView,并且每个 paren 的子项将呈现一个 GridView 布局管理器。
有可能吗?谁能指导我如何做到这一点? 谢谢
【问题讨论】:
标签: gridview android-recyclerview expandable recyclerview-layout
有一个完整的示例 here 说明如何使用此 library 实现可扩展的 GridView。
基本上,您使用该库将您的项目分组为部分,以便为每个部分设置一个标题,但您可以实现它yourself。
然后添加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);
为了展开/折叠这些部分,请检查example 中expanded 变量的使用。
【讨论】:
您可以使用此 example of Expandable RecyclerView 。它提供了一个可扩展的 RecyclerView,其中包含可以单独展开以在二维滚动网格中显示其子项的组项。可以选择每个网格项。
它是这样工作的:每个 ChildViewHolder 对象从 RecyclerView 适配器接收一个数据数组以显示在网格行中。然后它将其行的布局分解为相同大小的矩形单元格。每个单元格显示一条数据。
希望这会帮助任何寻找这个的人。
【讨论】:
您可以使用Expandable RecyclerVew,对于儿童视图,请使用其他RecyclerView 和GridLayoutManager
【讨论】: