Jetpack Compose 中具有等高行的网格布局

时间:2021-03-28 12:53:02

标签: android-jetpack-compose

Jetpack Compose:

我想创建一个像 UI 一样高度行的网格布局,但我找不到获取当前可用屏幕尺寸的函数 (The application should look like that)

结果应该是怎样的:

Have a look at the link mentioned above

我尝试过的:

我尝试在 LazyVerticalGrid 内使用 Modifier.fillMaxHeight() 来生成大小相同的行,但没有奏效。除此之外,我还想为每个行项目手动设置高度,但我找不到在 jetpack compose 中获取可用屏幕尺寸的功能(然后我会将屏幕高度除以行数).

val numbers = (0..34).toList()

LazyVerticalGrid(
    cells = GridCells.Fixed(7)

) {
    items(numbers.count()) {
        Column(horizontalAlignment = Alignment.CenterHorizontally
        ) {
            Text(text = "#"+numbers.get(it))
        }
    }
}

1 个答案:

答案 0 :(得分:0)

就其价值而言,您可以通过以下方式测量屏幕高度:

val screenHeight = LocalConfiguration.current.screenHeightDp

但是使用滚动修饰符使网格可滚动可能是值得的: https://developer.android.com/jetpack/compose/gestures#scroll-modifiers