Phi*_*hov 1 kotlin android-jetpack-compose
我需要做的是一个固定大小的盒子,第一个盒子下面还有一个盒子,它将填充剩余空间。我有以下代码:
Column {
Box(
modifier = Modifier
.background(Color.Red)
.fillMaxSize()
)
Box(
contentAlignment = Center,
modifier = Modifier
.background(Color.Blue)
.height(50.dp)
.fillMaxWidth()
) {
Text(
"hello",
color = Color.White
)
}
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,底部框的大小是列边界下方的一半,如果我删除 strict .height(50.dp),它就会完全消失。我尝试用 解决第二个问题.wrapContentHeight(),但没有运气 - 看起来fillMaxSize()顶部的盒子使其大小等于 ,Column这就是为什么它将底部的一部分向下推的原因。我希望它在计算其他列子项大小后填充剩余的大小 - 我是否遗漏了一些东西?如果我更改盒子的顺序,它会按预期工作,但我需要底部的盒子大小固定
在这种情况下weight,应该在视图上使用修饰符而不是fillMaxSize(weight默认情况下已经填充最大尺寸),在这种情况下,它将在其他视图之后进行测量:
父级会划分测量未加权的子元素后剩余的垂直空间,并根据这个权重进行分配。
Column {
Box(
modifier = Modifier
.background(Color.Red)
.weight(1f)
)
Box(
contentAlignment = Center,
modifier = Modifier
.background(Color.Blue)
.fillMaxWidth()
) {
Text(
"hello",
color = Color.White
)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |