如何将recyclerview中项目的约束布局宽度设置为父宽度的百分比,而不是固定的dp值?

时间:2021-03-02 05:22:04

标签: android android-layout android-recyclerview android-constraintlayout

我对 recyclerview 项目宽度有问题: 我已经浏览了 android 文档和堆栈,所以我认为这个问题没有解决方案。

我有一个带有水平网格布局的普通回收视图

抱歉,我没有足够的声誉来嵌入图片

Picture of recyclerview

并且我希望它的项目彼此相邻显示,但我想让项目的宽度取决于父级的宽度(在这种情况下,是另一个片段中使用的 recyclerview 宽度)。 我可以使用固定值(在本例中为 200dp)向您展示我想要的内容

Picture of the solution I want, but here a fixed value for width is used

但是,如果我对项目的约束设置为“匹配父项”,如下所示:

Picture constraint set to match parent

结果是,手机中看到的物品的宽度总是取决于recyclerview的宽度。就我而言,它几乎减半: recyclerview cut in half

还有 android studio 只允许一个视图作为顶级布局,所以我不能使用设置为任何 % 的指南

possible solution to that?

1 个答案:

答案 0 :(得分:0)

如果您有回收器视图的宽度(以像素为单位,而不是 dp),只需将其除以一行中的项目数,然后在您的适配器中的“onBindViewHolder”方法中设置项目宽度。此解决方案是当您的所有项目都具有相同的宽度时。

除了每个项目的高度使用 % go get -mod=mod ./.. flag provided but not defined: -mod usage: go get [-d] [-t] [-u] [-v] [-insecure] [build flags] [packages] Run 'go help get' for details.