gpt4 book ai didi

android - 将框/列与屏幕底部对齐 Jetpack Compose

转载 作者:行者123 更新时间:2023-12-05 08:45:48 28 4
gpt4 key购买 nike

我基本上希望卡片固定在顶部,一组按钮固定在底部(在屏幕键盘上)

像这样使用带有修饰符的 Column 只会导致按钮覆盖顶部卡片:

fun HomeScreen() {
Column(
modifier = Modifier
.fillMaxWidth(),
verticalArrangement = Arrangement.SpaceAround
) {
WordGrid()
}
Column(
modifier = Modifier
.fillMaxWidth(),
verticalArrangement = Arrangement.Bottom
) {
Keyboard()
}

我已经尝试过使用所有不同的 Arrangements,使用一行和使用 Boxes,但似乎无法让它工作。

奇怪的是,在@Preview 中,上面的代码看起来好像有效,但在模拟器上运行时,它们都在屏幕顶部。

使用垫片是另一种选择,但这会导致其他方面的问题吗?可能与屏幕尺寸等有关?

最佳答案

如果您希望按钮行固定在底部,您必须将 Column 设置为 weight1f,像这样

MyTheme {
Surface(color = MyTheme.colors.background) {
// Cards content
Column(
modifier = Modifier.fillMaxWidth()
) {
Column(
modifier = Modifier.fillMaxWidth().weight(1f)
) {
Card(
modifier = Modifier.fillMaxWidth().height(80.dp).padding(all = 16.dp),
backgroundColor = Color.Red,
) {
Text(text = "Card 1")
}
Card(
modifier = Modifier.fillMaxWidth().height(80.dp).padding(all = 16.dp),
backgroundColor = Color.Green,
) {
Text(text = "Card 2")
}
Card(
modifier = Modifier.fillMaxWidth().height(80.dp).padding(all = 16.dp),
backgroundColor = Color.Blue,
) {
Text(text = "Card 3")
}
}
// Buttons content
Row(
modifier = Modifier.fillMaxWidth()
) {
Button(
onClick = {},
modifier = Modifier.padding(horizontal = 8.dp)
) {
Text(text = "Button 1")
}
Button(
onClick = {},
modifier = Modifier.padding(horizontal = 8.dp)
) {
Text(text = "Button 3")
}
Button(
onClick = {},
modifier = Modifier.padding(horizontal = 8.dp)
) {
Text(text = "Button 2")
}
}
}
}
}

关于android - 将框/列与屏幕底部对齐 Jetpack Compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71668187/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com