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



我有一个问题与recyclerview项目宽度:我已经看了android文档和堆栈,所以我认为,没有解决这个问题的办法。

我有一个普通的循环视图与水平网格布局

对不起,但是我没有足够的声望来嵌入图片

recyclerview图片

和我希望它的项目被显示在彼此旁边,但我想使项目的宽度取决于父元素的宽度(在这种情况下,在其他片段中使用的recyclerview宽度)。我可以通过使用固定值(在本例中为200dp)

向您展示我想要的内容。我想要的解决方案的图片,但这里使用了一个固定的宽度值

但是,如果条目的约束设置为"match parent"如:

图片约束设置为匹配父元素

结果是,在手机中看到的项目的宽度总是取决于回收视图的宽度。在我的情况下,它几乎减少了一半:回收视图减少一半

也android studio只允许一个视图作为顶层布局,所以我不能使用设置为任何%

的指导方针。可能的解决方案?

如果您有回收器视图的宽度(以像素为单位,而不是dp),只需将其除以一行中的项目数量,并在适配器中使用"onBindViewHolder"方法设置项目宽度。这个解决方案是当你所有的项目有相同的宽度。

每项高度用WRAP_CONTENT

最新更新