【发布时间】:2020-12-24 09:37:35
【问题描述】:
当没有可用空间时,我想将文本换行到新行。但我有一个问题。
我写了以下代码:
return SafeArea(
child: Scaffold(
body: Wrap(
children: [
Container(
color: Colors.red,
constraints: BoxConstraints(
maxWidth: MediaQuery.of(context).size.width / 1.1
),
padding: EdgeInsets.only(left: 8,right: 8),
child: Text('HelllOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO everyyyyyyyyyyyyyyyyyyyyyyyyy'),
),
],
),
),
);
以上代码返回如下图片:
如您所见,“everyyyy..”这个词,完全包裹到下一行。我想创建类似以下图像的内容:
请帮帮我,我对此一无所知。
【问题讨论】:
-
删除
every前面的空格,尝试使用maxLines代替Text,设置width代替Container。 -
谢谢。文本将是动态的,我无法为此定义规则。你说的其他事情没有用
-
因此,如果文本是动态的,您如何期望它会被包裹起来有些棘手? Flutter 使用自己的算法进行包装。如果您不喜欢它,请使用您自己的,计算符号,宽度。在 stackoverflow hiw 中有一个答案来计算
Text小部件的宽度。 -
感谢您的回答。请检查接受的答案。成功了