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

Jetpack Compose的Row布局内最后一个Text组件未显示是什么原因?

问题原因

Row布局中的Slider组件默认会抢占所有剩余可用宽度,你当前的写法没有给子组件配置权重,第一个Text占完固定宽度后,Slider直接占满了Row剩下的全部空间,导致最后一个Text没有可用渲染区域,所以无法显示。

解决方案

给Slider添加weight(1f)修饰符即可,该修饰符会让Slider仅占用两个Text之外的剩余中间空间,修改后的代码如下:

@Preview
@Composable
fun SliderInRow() {
    Row {
        Text("qwe")
        Slider(
            modifier = Modifier.weight(1f),
            value = 0f,
            onValueChange = {}
        )
        Text("wer")
    }
}

weight是Row/Column布局的专属修饰符,参数值代表当前组件在剩余可分配空间中的占比。配置完成后Row会先测量两个Text的固定宽度,再把剩下的空间全部分配给Slider,三个元素就能正常依次排列。如果需要调整Slider和左右文本的间距,还可以在weight后面追加padding(horizontal = 8.dp)之类的修饰符做适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:57:02