【问题标题】:Distributing Items equally in a RecyclerView在 RecyclerView 中平均分配项目
【发布时间】:2018-06-16 01:00:18
【问题描述】:

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

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

在这里,我得到了两个在屏幕宽度上平均分布的项目:

这里有很多东西;项目之间使用“最小边距”并且回收器正在滚动

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

我使用weights 尝试了一些事情,但这似乎没有按预期工作。我正在为我的RecyclerView 使用LinearLayoutManager

有没有人建议如何以更好、更清洁的方式实现这种行为?

【问题讨论】:

    标签: android android-layout android-recyclerview


    【解决方案1】:

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

    【讨论】:

    • 好吧,我可以用它来代替边距,但这似乎仍然是一种奇怪的方法。不过谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    相关资源
    最近更新 更多