RecyclerView / StaggeredGridLayoutManager:将连续视图组强制转换为相同的范围/列

时间:2017-04-03 21:39:04

标签: android android-recyclerview android-support-library staggeredgridlayout

目前,我使用RecyclerView显示一组具有不同视图类型的视图,其中一组连续项属于一起:标题,一组可变内容项和分隔符/页脚。 Current situation 现在我也希望我的UI在更大的设备上看起来很好,也就是使用多个窗格,所以我切换到StaggeredGridLayoutManager。这里的问题是它在所有跨度之间均匀地分布视图,意味着一个组分布在多个列上。 Situation with staggered LayoutManager 因此,我想指定布局管理器将一组连续的视图放入同一个范围,然后将下一个组放入下一个组。 What I want 这是否可以使用我使用的LayoutManager?我可以修改它以便像那样工作而不只是复制和编辑它吗?支持lib开发者:有没有计划引入这种行为?

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

1 个答案:

答案 0 :(得分:1)

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

那就是你有一个外RecyclerViewStaggeredGridLayoutManager和多个内RecyclerViewLinearLayoutManager s。您可以在内部RV之间共享一个RecycledViewPool。您必须做一些体操来为内部RV创建适当的适配器,但这可能比编写自己的LayoutManager更简单!