Flutterでなにも指定しなければテキストは突き抜けてしまいます。
例えばこんなコード
new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Container(
padding: new EdgeInsets.all(5.0),
child: new Text(
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
style: new TextStyle(fontWeight: FontWeight.bold),
),
),
new DefaultTextStyle(
style: new TextStyle(color: Colors.black),
overflow: TextOverflow.ellipsis,
child: new Padding(
child: new Text("ああああああああああああああああああああああああああああああ"),
padding: new EdgeInsets.only(top: 10.0),
)),
],
)
Flexibleを使う
Flexible
を使うと中のテキストをその中のWidgetをラップするのでテキストが改行されずに表示されるようになります。
new Flexible(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new Container(
padding: new EdgeInsets.all(5.0),
child: new Text(
document["title"],
softWrap: true,
style: new TextStyle(fontWeight: FontWeight.bold),
),
),
new DefaultTextStyle(
style: new TextStyle(color: Colors.black),
overflow: TextOverflow.ellipsis,
maxLines: 3,
child: new Padding(
child: new Text(document["description"]),
padding: new EdgeInsets.only(top: 10.0),
)),
],
),
)
maxLines: 3,
みたいな指定もすると3行だけ表示して残りは ...
みたいなこともしてくれます。