我基本上希望卡片固定在頂部,一組按鈕固定在底部(在螢屏鍵盤上)
像這樣使用帶有修飾符的 Column 只會導致按鈕覆寫頂部卡片:
fun HomeScreen() {
Column(
modifier = Modifier
.fillMaxWidth(),
verticalArrangement = Arrangement.SpaceAround
) {
WordGrid()
}
Column(
modifier = Modifier
.fillMaxWidth(),
verticalArrangement = Arrangement.Bottom
) {
Keyboard()
}
我嘗試過使用所有不同的安排,使用行和使用框,但似乎無法讓它作業。
奇怪的是,在@Preview 中,上面的代碼看起來好像可以作業,但是當在模擬器上運行時,它們都位于螢屏頂部。
使用墊片是另一種選擇,但這會導致其他方面的問題嗎?也許螢屏尺寸等?
uj5u.com熱心網友回復:
如果您希望按鈕行固定在底部,則必須將 設定Column為具有weightof 1f,如下所示
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")
}
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/456511.html
標籤:安卓 科特林 用户界面 android-jetpack-compose android-jetpack-compose-布局
