Flutter中的Text换行问题

1.问题说明

flutter的Text默认不支持自动换行,如果文字过长,会导致文字溢出到屏幕之外。

例如如下情况,Text换行就会失效:

Row->Column->Text

2.如何实现换行

找到Text被包裹的所有的Row(必须是Row),在Row内部,使用Expanded包住里面的元素。

嵌套关系如下:

Row->Expanded->Clumn->Text

Dart 复制代码
  Widget build(BuildContext context) {
    return Row(
      children: [
        Expanded(
          child: Column(
            children: [Text("我是一段很长的文字我是一段很长的文字我是一段很长的文字我是一段很长的文字")],
          ),
        ),
      ],
    );
  }

3.嵌套的太深

Dart 复制代码
Widget build(BuildContext context) {
  return Row(
    children: [
      Expanded(
        child: Column(
          children: [
            Row(
              children: [
                Expanded(
                  child: Column(
                    children: [
                      Row(
                        children: [
                          Expanded(child: Text("我是一段很长的文字我是一段很长的文字我是一段很长的文字"))
                        ],
                      )
                    ],
                  ),
                ),
              ],
            )
          ],
        ),
      )
    ],
  );
}

Tips:Column里放Expaned会报错,因为没有限制Column高度,内部Expanded展开会让高度变得无穷大,因此会报错。需要指定Column高度,例如套一层SizedBox(height:200)。

相关推荐
chenyin3 小时前
Flutter 架构设计:Feature-First 与 Pub workspaces
flutter
gnip4 小时前
GetX 在 Flutter 中的使用:两种视图管理方式解析
前端·flutter
程序员老刘4 小时前
Flutter版本选择指南:9月大限落地,3.47一个月连发四补丁 | 2026年9月
flutter·ai编程·客户端
zeqinjie4 小时前
Flutter 获取 iPhone Duo 预留区位置
前端·flutter·ios
恋猫de小郭4 小时前
Flutter Golden Tests:给 AI Agent 的 UI 测试系统
android·前端·flutter
CHB4 小时前
一文讲透原生渲染和自渲染
flutter·react native·uni-app
君赏6 天前
棉宇宙 Flutter 热更新是如何落地的
flutter
恋猫de小郭6 天前
AndroidX 新增 Security State ,支持可编程的系统安全状态查询
android·前端·flutter
zihan5186 天前
自己做软件日记9/21 得到了一个良好的文件结构框架
后端·flutter·前端框架·android studio
ZFJ_张福杰7 天前
【Flutter】Flutter 中有哪些耗时操作?从 UI 卡顿到 Isolate 性能优化
flutter·性能优化·卡顿·isolate