首页 > 解决方案 > Jetpack Compose Vertical Grid 单项跨度大小

问题描述

在 xml 中,您可以在 GridLayoutManager 中使用 GridLayoutManager.SpanSizeLookup 设置单个项目的跨度大小(该项目将在行中使用多少列,例如,在 3 列的网格中,我可以将第一项设置为跨度大小3 所以它将使用网格的所有宽度),但是在 Compose 中我找不到这样做的方法,垂直网格只有一种设置全局跨度计数和添加项目的方法,但没有设置跨度大小一个单独的项目,有没有办法做到这一点?

标签: androidandroid-jetpack-composeandroid-jetpack-compose-list

解决方案


目前没有开箱即用的支持。我现在解决这个问题的方法是使用 aLazyColumn然后项目是Rows 并且在每个项目中Row你可以决定一个项目的宽度,使用weight.

我已经实现,在我的情况下,我有标题(全宽)和等宽项目的单元格(根据屏幕的宽度,每行可能有 1、2 或 3 个单元格)。这是一种解决方法,但在获得本机支持之前,VerticalGrid这是一种选择。

我的解决方案在这里- 寻找LazyListScope扩展。


推荐阅读