防止嵌套行/列小部件中的文本溢出

abh*_*rni 2 dart flutter flutter-layout

我有一个示例布局如下:

  1. 3个固定尺寸的容器(红、蓝、绿,容器标签为height x width
  2. 可能具有可变大小的文本小部件(基于文本内容):

在此输入图像描述

小部件的总高度是300px。布局大致如下:

Row(
    [
        red,
        Column(
            [
                Row([green, text]),
                Spacer(),
                blue,
            ]
        ),
    ]
)
Run Code Online (Sandbox Code Playgroud)

问题是如果我增加文本长度,它会溢出屏幕,如下所示:

在此输入图像描述

文本的样式已设置为maxLines:1overflow:TextOverflow.ellipsis。此外,我尝试Expanded在各个级别添加(到文本小部件、到包含它的行、到包含它的列、到整个外框),但没有效果。

您能建议如何解决这个问题吗?

这是源代码:

Row(
    [
        red,
        Column(
            [
                Row([green, text]),
                Spacer(),
                blue,
            ]
        ),
    ]
)
Run Code Online (Sandbox Code Playgroud)

谢谢!

Kau*_*dru 6

使用灵活的小部件包裹文本,并根据需要添加溢出

Flexible(
 child: Text(
  "Some big text here",
  overflow: TextOverflow.ellipsis,
  maxLines : 3//add any max line here
 )
)
Run Code Online (Sandbox Code Playgroud)

还用柔性包装 col1 的列小部件,以便行获得其边界