我有以下可组合
Box (modifier = Modifier
.background(MaterialTheme.colorScheme.primary)
.then(modifier)) {
Row {
CircularProgressIndicator(modifier = Modifier.align(Alignment.CenterVertically))
Column {
Text(text = "Title", fontSize = 24.sp, color = Color.White)
Text(text = "Subtitle", fontSize = 18.sp, color = Color.LightGray)
}
Button(
modifier = Modifier
.align(Alignment.CenterVertically)
) { ... }
}
}
我想按以下方式水平对齐控件:
- 左对齐
CircularProgressIndicator
(与父项左对齐) - 中心对齐
Column
- 右对齐
Button
(与父项右对齐)
我可以很容易地通过将weight(1f)
添加到列中来实现,但这会导致Box
增加宽度以占用所有可用空间。我不想那样
为什么
因为这个组合件用在两个地方:在一个地方使用“ Package 内容”宽度,在另一个地方使用“填充可用空间”宽度。列的居中对齐在“填充可用空间”模式下很有用。
如果我使用weight
,就我所测试的而言,我不能使用“ Package 内容”。
编辑
如果我使用weight(1f, false)
,这就是当显示Box
以填充可用宽度时所看到的
----------------------------------------------------
| CPI | COL | BUT | EMPTY SPACE |
----------------------------------------------------
1条答案
按热度按时间ercv8c1e1#
您应该应用以下更改。首先,你应该像这样修改你的Row:
那么你应该像这样修改你的列:
应该和你描述的一样