You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Compose:如何让Box中并排Composable高度匹配

解决方案

要实现左右两侧高度匹配、右侧按钮贴底且整体垂直居中的效果,只需通过Intrinsic Size修饰符调整Row的高度计算逻辑,修改后的代码如下:

Box(
    modifier = Modifier.weight(contentWeight).fillMaxWidth(),
    contentAlignment = Alignment.Center
) {
    Row(
        modifier = Modifier
            .fillMaxWidth()
            .height(IntrinsicSize.Max) // 关键:让Row高度取子元素中最高的那个
    ) {
        // 左侧动态布局,保持宽度平分
        Box(modifier = Modifier.weight(1f)) {
            // 动态生成的内容(高度不固定)
        }

        // 右侧Column,填充Row的高度,实现按钮贴底
        Column(
            modifier = Modifier
                .weight(1f)
                .fillMaxHeight(), // 填充Row的高度,而非屏幕高度
            verticalArrangement = Arrangement.SpaceBetween
        ) {
            Text(text = "顶部文本")
            TextButton(onClick = { /* 点击事件 */ }) {
                Text(text = "底部按钮")
            }
        }
    }
}

关键修改说明

  • height(IntrinsicSize.Max):给Row添加这个修饰符后,Row的高度会自动适配内部子元素中最高的那个高度,既不会强行拉伸到屏幕底部,又能保证左右两侧高度完全一致。
  • 右侧Column的fillMaxHeight():此时fillMaxHeight()填充的是Row的高度(而非整个屏幕),结合Arrangement.SpaceBetween就能让顶部文本和底部按钮分别贴合Column的上下边缘。
  • 保留Box的contentAlignment = Alignment.Center:确保整个Row(以及内部的左右布局)在父Box中垂直居中,完全符合你要的整体居中效果。

内容的提问来源于stack exchange,提问作者LGstudio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 17:19:54