I have a TextField like this:

```
new Flexible(
    fit: FlexFit.loose,
    child: new Container(
        alignment: FractionalOffset.topLeft,
        child: new TextField(
            decoration: new InputDecoration(
                  hintText: 'Add a note',
            ),
            maxLines: 1,
            onChanged: (value) => _showSaveOptions(value),
        ),
    ),
),

```

I'd like to have my TextField to start out with `maxLines` set to 1, but as I type, I would like the maxLines to increase, so that all the text remains on the page and I don't have to scroll up. However, I also don't want to start off with `maxLines` set to say, 5 or 10, because the empty TextField takes up more space that necessary. An example of the behavior I want to implement is in the Long Answer Text option in Google Forms, where it starts with one line:
[![enter image description here](https://i.stack.imgur.com/EDeT4.png)](https://i.stack.imgur.com/EDeT4.png)
and expands as I type:
[![enter image description here](https://i.stack.imgur.com/zOf8s.png)](https://i.stack.imgur.com/zOf8s.png)

I've considered setting `maxLines` to a counter that increments every time the user hits a newline, but how do I determine when the user has filled up a line?