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

如何在Jetpack Compose中实现双文本左右两端对齐布局

解决Jetpack Compose中Row内文本两端对齐的问题

你当前的代码问题在于给两个Text都设置了weight(1f),这会让它们平分Row的宽度,导致右侧文本无法贴紧布局右边缘;同时fillMaxSize()不会改变文本的对齐方式,文本默认左对齐,所以看起来始终无法到达最右侧。

下面是两种可行的解决方案:

方案一:用Spacer填充中间空间

通过Spacer占据Row的剩余空间,强制两个文本分别贴紧左右边缘:

Row(
    modifier = Modifier.fillMaxWidth(),
    verticalAlignment = Alignment.CenterVertically
) {
    Text(
        modifier = Modifier.padding(top = 16.dp, bottom = 8.dp),
        text = title,
        style = titleStyle,
        color = MaterialTheme.colorScheme.error
    )
    Spacer(modifier = Modifier.weight(1f))
    Text(
        modifier = Modifier.padding(top = 16.dp, bottom = 8.dp),
        text = texts[1],
        color = MaterialTheme.colorScheme.error,
        style = style
    )
}

方案二:设置右侧文本右对齐

给右侧Text设置weight(1f)占据剩余空间,同时让文本自身右对齐:

Row(
    modifier = Modifier.fillMaxWidth(),
    verticalAlignment = Alignment.CenterVertically
) {
    Text(
        modifier = Modifier.padding(top = 16.dp, bottom = 8.dp),
        text = title,
        style = titleStyle,
        color = MaterialTheme.colorScheme.error
    )
    Text(
        modifier = Modifier
            .weight(1f)
            .padding(top = 16.dp, bottom = 8.dp),
        text = texts[1],
        color = MaterialTheme.colorScheme.error,
        style = style,
        textAlign = TextAlign.End
    )
}

两种方案都能实现你需要的|LECTURA BREVE Ex 19, 4-6a|两端对齐效果,根据自己的习惯选择即可。

内容的提问来源于stack exchange,提问作者A. Cedano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 21:44:56