在 Jetpack Compose 中将一些东西放在 LazyColumn 下方

Rob*_*b N 4 android-jetpack-compose

我希望我的屏幕显示滚动列表和其下方的按钮。该按钮应始终可见。我尝试了以下方法,但没有奏效。在LazyColumn拍摄整个屏幕。我希望Button它占据底部的空间,然后占据LazyColumn屏幕的其余部分。

Column(Modifier.fillMaxSize()) {
    LazyColumn {
        items(50) { i ->
            Text("Row $i", Modifier.fillMaxWidth().padding(8.dp))
        }
    }
    Button(onClick = { println("hi") }) {
        Text("Hello")
    }
}
Run Code Online (Sandbox Code Playgroud)

Sin*_*tem 12

您可以将权重修饰符应用于 lazyColumn:

Column(Modifier.fillMaxSize()) {
    LazyColumn(Modifier.weight(1f)) {
        items(50) { i ->
            Text("Row $i", Modifier.fillMaxWidth().padding(8.dp))
        }
    }
    Button(onClick = { println("hi") }) {
        Text("Hello")
    }
}
Run Code Online (Sandbox Code Playgroud)

这也在Jetpack Compose 基础代码实验室中进行了解释

  • ‍♂️ 我曾在“Button”上尝试过“weight”,认为它需要更多的权重才能显示出来。 (6认同)