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)。

相关推荐
恋猫de小郭3 小时前
Flutter 的另外一种形态?社区 DartNative 要来了。
android·前端·flutter
阿里云云原生18 小时前
还原一次用户等待:深度解析 Flutter RUM SDK 如何打通 Dart 到 Native 的观测链路
flutter
_阿南_20 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
GitLqr1 天前
玩转 Dart typedef:不仅是函数别名那么简单
flutter·面试·dart
FungLeo1 天前
Flutter 两个反直觉布局坑:ListTile 水波纹 / VerticalDivider 踩坑实录
android·flutter
年小个大2 天前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
FungLeo2 天前
Flutter 骨架屏 Shimmer 实现:不用 transform 的扫光法实战
前端·javascript·flutter
GitLqr2 天前
Flutter 居然能直接跑在 Apple Watch 上了?玩转 flutter-watchos
flutter·全栈·apple watch
你听得到112 天前
排查 App 问题:别只盯着报错,把前后发生的事情串起来
android·前端·flutter
天空之城--2 天前
近一周Android Flutter行业动态与实用参考
android·flutter