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

相关推荐
liulian09165 小时前
Flutter for OpenHarmony 跨平台开发:颜色选择器功能实战指南
flutter
liulian09169 小时前
Flutter for OpenHarmony 跨平台开发:BMI计算器功能实战指南
flutter·华为
xmdy586612 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day1 项目搭建与整体方案拆解
flutter·开源·harmonyos
小白640218 小时前
AI辅助设计Flutter蓝牙自动连接系统
人工智能·flutter
xmdy586618 小时前
Flutter+开源鸿蒙实战|智联邻里Day6 引入GetX全局架构+升级版下拉刷新+Toast弹窗+网络状态监听
flutter·开源·harmonyos
xmdy586619 小时前
Flutter+开源鸿蒙实战|智联邻里Day5 闲置详情页+删除功能+下拉刷新+交互优化
flutter·开源·harmonyos
maaath19 小时前
【maaath】Flutter for OpenHarmony 媒体工具应用开发实战
flutter·华为·harmonyos
maaath20 小时前
【maaath】 Flutter for OpenHarmony 快捷工具箱应用实战开发
flutter·华为·harmonyos
maaath20 小时前
【maaath】Flutter for OpenHarmony 实战:茶叶茶艺应用开发详解
flutter·华为·harmonyos
maaath21 小时前
【maaath】Flutter for OpenHarmony 的手办展示应用开发实践
flutter·华为·harmonyos