Vertical growable TextField acquiring space as much lines of text it has

Hi everybody,
I want to screen with three widgets,top widget 1 is fixed. widget 2 and widget 3 are together in column with widget 2 above widget 3.widget 2 is a TextFIeld.I want to create TextField which expands with the number of lines of texts in it vertically.Now there may be a situation , when text is more than it can fit on screen .so i want widget 2 and 3 should be scrollable like list view maybe.Demo Scenario ScreenShot is as follows.

code i have Written:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  @override
  Widget build(BuildContext context) {
    final mediaQuery = MediaQuery
        .of(context)
        .size;
    final screenWidth = mediaQuery.width;
    final screenHeight = mediaQuery.height;
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          mainAxisSize: MainAxisSize.max,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: <Widget>[
            Container(
              margin: EdgeInsets.only(top: screenHeight * 0.01),
              height: screenHeight * 0.15,
              color: Colors.orange,
                alignment: Alignment.center,
                child: Text("1 ",style: TextStyle(fontSize: 40),),
            ),
            Column(
              mainAxisAlignment: MainAxisAlignment.start,
              mainAxisSize: MainAxisSize.min,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: <Widget>[
                Container(
                  height: screenHeight*0.1,
                  child: TextField(
                  maxLines: null,
                  minLines: null,
                  expands: true,
                  decoration: InputDecoration(
                      hintText: "Type here in 2",
                      hintStyle: TextStyle(
                          fontSize: 20,
                          fontWeight: FontWeight.w300,

                          color: Colors.grey)),
                  ),
                ),
                Container(height: screenHeight * 0.3,
                  color: Colors.orange,
                  alignment: Alignment.center,
                  child: Text("3",style: TextStyle(fontSize: 40),),
                ),
              ],
            )

          ],
        ),
      ),
    );
  }
}