基于回收器视图中列表项类型的间距

问题描述 投票:0回答:1

我确实有一个数据列表,是男性和女性类型。我已经在同一空间项目分隔符中填充了所有男性和女性数据的数据。但我在这里想要的是,我想要填充男性数据,如 1dp,男性完成后,这里需要大空间,如 10dp,女性也应该像男性 1dp 项目分隔符一样填充。

是否可以在一个recyclerview中使用,或者我必须创建两个recyclerview

我尝试创建两个工作正常的回收器视图,但需要低于 1 个回收器视图。

android kotlin android-recyclerview android-constraintlayout
1个回答
0
投票

既然你已经有了两种类型,我猜你已经知道如何在 RecyclerView 中区分男性和女性视图了。

经典的方法是使用第三种类型,即“分隔符”。这可以通过使用 Recycler 中的 ViewTypes 或通过为项目使用一种通用布局来实现,该布局将根据单元格的

position
将 onBinding 从男性转换为女性或分隔符。

我一直使用且强烈推荐的方式是使用ConcatAdapter!有了这个令人难以置信的组件,您可以将许多不同的适配器组合成一个。在这种情况下,您需要一个 MaleAdapter、一个 FemaleAdapter 和一个 DividerAdapter(其中只有一项,即高度为 10dp 的 SpaceView)。

ConcatAdapter 对于一个分隔器来说似乎有点大材小用,但 DividerAdapter 将是可重复使用的,并且 ConcatAdapter 非常灵活。想象一下这样的场景,您稍后需要添加一个完全不同的视图,例如 DogAdapter,您所要做的就是创建新适配器并将其添加到 ConcatAdapter 中,并在其前面再添加一个 DividerAdapter。干净又快速。

© www.soinside.com 2019 - 2024. All rights reserved.