1

目前,我正在使用 RecyclerView 来显示一组具有不同视图类型的视图,其中一组连续的项目属于一起:一个标题、一组可变的内容项目和一个分隔符/页脚。 现在的情况 现在我还希望我的 UI 在更大的设备上看起来不错,也就是使用多个窗格,所以我切换到了 StaggeredGridLayoutManager。这里的问题是它在所有跨度之间均匀分布视图,这意味着一组分布在多个列上。 交错 LayoutManager 的情况 因此,我想指定布局管理器将一组连续的视图放入同一个跨度,然后才将下一组放入下一个。 我想要的是 这对我使用的 LayoutManager 有可能吗?我可以在不复制和编辑的情况下修改它以使其工作吗?支持 lib 开发人员:有没有计划引入这种行为?

请告诉我是否应该提供任何其他信息,以及什么时候不够清楚。

4

1 回答 1

1

您可以使用支持库的StaggeredGridLayoutManager;来实现您想要的布局。您需要使每个“组”项目(例如 header1 + 1-3 + 页脚)成为适配器返回的单个视图。这个视图本身可能是一个RecyclerView.

也就是说,您将拥有一个RecyclerView带有 a 的外部StaggeredGridLayoutManager和多个RecyclerView带有s 的内部LinearLayoutManagers。您可以RecycledViewPool在内部 RV 之间共享一个。您必须做一些体操才能为内部 RV 创建适当的适配器,但这可能比自己编写更简单LayoutManager

于 2017-04-04T10:26:03.393 回答