You've two ways to make that.
1. Wrap your Widget Text in a Container, and set a width for him, like:
final mediaQuery = MediaQuery.of(context);
return Container (
padding: const EdgeInsets.all(10.0),
width: mediaQuery.size.width * 0.05,
child: new Column (
children: <Widget>[
new Text ("Long text without explicit line breaks, but still long.", textAlign: TextAlign.left)
],
),
);
OBS: I used mediaQuery for reponsivity, but you can set a fix value
2. You can wrap with the Flexible widget:
But Flexible needs to be used with Row, Column or Flex widget, or a exception with be raised.
new Container(
child: Row(
children: <Widget>[
Flexible(
child: new Text("Long text without explicit line breaks, but still long."),
),
],
),
);