Ответ заключался в том, чтобы обернуть TextField в гибкий.Кажется очевидным сейчас, но иногда требуется гибкий или расширенный, а иногда нет.Вот мой код ...
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Flexible(
child: new FirebaseAnimatedList(
query: fb.child('users').limitToLast(50),
padding: new EdgeInsets.all(5.0),
reverse: true,
itemBuilder: (_, DataSnapshot snapshot,
Animation<double> animation, int index) {
return new ChatMessage(
snapshot: snapshot, animation: animation);
}),
),
new Divider(
height: 5.0,
color: Colors.blue,
),
new Container(
margin: const EdgeInsets.symmetric(horizontal: 2.0),
child: new Row(
children: <Widget>[
new IconButton(
icon: new Icon(Icons.gif), onPressed: getGif),
new Flexible(
child: new TextField(
controller: _chatController,
autocorrect: false,
decoration: new InputDecoration(
labelText: "Let's Talk ... ",
labelStyle:
new TextStyle(fontWeight: FontWeight.bold)),
onChanged: (str) {
setState(() {
str = _chatController.text;
});
},
),
),
new IconButton(
icon: new Icon(Icons.send), onPressed: getGif),
],
),
)
],
)