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

Flutter Row布局中Text组件内容超出屏幕时如何实现自动换行?

解决方法

这个是Flutter布局里非常常见的Row嵌套文本溢出场景,确实可以实现自动换行:
Row组件默认会给所有子组件分配无限制的水平布局空间,Text组件仅在获取到明确的宽度约束时才会触发自动换行逻辑。你给出的示例代码中,包裹Text的Container没有设置固定宽度,也没有被其他组件限制最大宽度,因此文本长度超出屏幕宽度时不会自动换行,只会出现溢出提示。

你只需要用Expanded或Flexible组件包裹Text的父级Container,让它只能占用Row中除两个固定宽高SizedBox之外的剩余可用空间,自动拿到宽度约束后即可实现自动换行,修改后的代码如下:

Row(
 children: [
  SizedBox(width: 40, height:40),
  Expanded(
    child: Container(
      child: Text("Long text without explicit line breaks, but still long.")
    )
  ),
  SizedBox(width: 40, height:40)
 ]
)

补充说明

  • 如果不需要文本占满剩余宽度,仅希望文本长度不足一行时宽度自适应、超过一行时自动换行,可以将Expanded替换为Flexible组件。
  • 原示例代码中两个子组件中间缺少逗号分隔,实际运行会报语法错误,修改时请注意补全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:39:03