为 Row 中的孩子填充高度

Jac*_*obZ 4 android android-jetpack-compose

我试图实现这种布局,但真的不知道如何:

在此处输入图片说明

目前它看起来像这样:

在此处输入图片说明

使用此代码:

@Preview(widthDp = 150)
@Composable
fun Item() {
    Card(shape = RoundedCornerShape(8.dp)) {
        Row {
            Box(Modifier.background(Color.Yellow).weight(1f)) {
                SomeMoreContentWithUnknownHeight()
            }
            Box(Modifier.width(20.dp).height(IntrinsicSize.Max).background(Color.Green))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图将第二个 Box 的高度设置为 IntrinsicSize.Max 但这并没有改变任何东西。我目前在 1.0.0-beta07 版中运行 Jetpack Compose

Gab*_*tti 7

你必须申请Modifier.height(IntrinsicSize.Min)你的Row.fillMaxHeight()第二个Box

就像是:

Card(shape = RoundedCornerShape(8.dp)) {
    Row(Modifier.height(IntrinsicSize.Min)) {
        Box(Modifier
            .background(Color.Yellow)
            .weight(1f)
            ) {
               //Box(Modifier.height(50.dp))
        }
        Box(Modifier.width(20.dp)
            .fillMaxHeight()
            .background(Color.Green)
            ){
            //........
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 你知道为什么我们必须将“Modifier.height(IntrinsicSize.Min)”应用到顶行吗? (4认同)