【发布时间】:2019-05-23 10:04:12
【问题描述】:
我正在尝试在 Flutter 中创建一个基本的聊天应用程序,并且我想在简单的容器中显示对话,这将使其长度适应里面的文本。一切正常,直到文本不适合容器的长度,当我收到溢出错误时。
我正在使用的代码是这个
Widget _buildMessage(Message message) {
return Row(children: <Widget>[
message.author == username ? Expanded(child: Container()) : Container(),
Container(
padding: EdgeInsets.all(8.0),
margin: EdgeInsets.all(4.0),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(8.0))),
child: Row(
children: <Widget>[
Text(
message.text,
),
SizedBox(
width: 8.0,
),
Padding(
padding: EdgeInsets.only(top: 6.0),
child: Text(
message.time,
style: TextStyle(fontSize: 10.0, color: Colors.grey),
),
),
SizedBox(
width: 8.0,
),
Padding(
padding: EdgeInsets.only(top: 6.0),
child: Text(
message.author,
style: TextStyle(fontSize: 10.0, color: Colors.grey),
),
),
],
)),
message.author != username ? Expanded(child: Container()) : Container(),
]);
}
我在行中使用行,以便我可以根据作者将这种对齐方式向右或向左对齐。 如果我在输入中键入带有多行的内容,则文本会正确呈现,容器会根据需要垂直扩展。问题是当我只输入超出容器宽度的内容时。
我可以通过用容器和固定的包装文本来解决这个问题,但我不希望这样,因为我希望宽度是动态的并适应文本。
我看到人们建议使用灵活或扩展的其他问题,但我不知道该怎么做。
任何想法都将不胜感激。
【问题讨论】:
-
使用
Wrap小部件来换行。 -
换行不起作用
标签: flutter