繁体   English   中英

在RecyclerView中平均分配项目

[英]Distributing Items equally in a RecyclerView

目标:以某种方式水平显示项目列表(RecyclerView),使它们均匀分布在屏幕上,并使它们之间的边距至少为X dp,这样即使不是所有视图都适合屏幕,该视图也可以滚动。

希望以下图片能帮助您理解我的问题:

在这里,我得到了两个项目,它们平均分布在屏幕的整个宽度上: 少量物品

在这里,我有很多东西。 在项目之间使用“最小边距”,并且回收站正在滚动 很多物品

我通过预先测量View来实现此行为,然后手动计算视图之间的边距,并在onBindViewHolder设置。 这似乎是一种肮脏的方式,尤其是当我需要为每个itemView调用requestLayout

我尝试了一些使用weights ,但是似乎没有达到预期的效果。 我正在为我的RecyclerView使用LinearLayoutManager

有没有人建议如何更好,更清洁地实现这种行为?

您可以使用recyclerView.addItemDecoration方法添加自定义项装饰并解决间距问题。 该代码可以在这里找到。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM