title: Gridview not filling body in landscape
body: <p>I am using building a view that needs to be responsive on both landscape and  portrait modes, I am using a gridview when I change to landscape however when in landscape the gridview doesnt fill the entire body </p>
  
  <p>Gridview doesn't seem to have a default padding or anything</p>
  
  <p><a href="https://i.stack.imgur.com/7QSZP.gif" rel="nofollow noreferrer">Example</a>
  <a href="https://i.stack.imgur.com/4xtuw.gif" rel="nofollow noreferrer">In App Example</a></p>
  
  <pre><code>import 'package:flutter/material.dart';
  import 'package:flutter/services.dart';
  
  void main() async {
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
      DeviceOrientation.landscapeLeft,
      DeviceOrientation.landscapeRight
    ]);
    runApp(
      MyApp(),
    );
  }
  
  class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        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() =&gt; _MyHomePageState();
  }
  
  class _MyHomePageState extends State&lt;MyHomePage&gt; {
    double height;
     final key =  GlobalKey();
  
    @override
    initState() {
      //calling the getHeight Function after the Layout is Rendered
      WidgetsBinding.instance.addPostFrameCallback((_) =&gt; getHeight());
  
      super.initState();
    }
  
    getHeight() {
      final RenderBox renderBoxRed = key.currentContext.findRenderObject();
      final size = renderBoxRed.size.height;
      print("SIZE of container: $size");
   }
  
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: LayoutBuilder(
          builder: (BuildContext context, BoxConstraints constraints) {
            height = constraints.maxHeight;
            return (MediaQuery.of(context).size.width &gt;= 600 &amp;&amp;
                    MediaQuery.of(context).orientation == Orientation.landscape)
                ? GridView.count(
                    crossAxisCount: 2,
                    shrinkWrap: true,
                    children: [
                      Container(
                        height: height,
                        color: Colors.black,
                      ),
                      Container(
                        key: key,
                        height: height,
                        color: Colors.red,
                        child: buildChildren(),
                      )
                    ],
                  )
                : Column(
                    children: &lt;Widget&gt;[
                      Container(
                        height: height / 2,
                        color: Colors.black,
                      ),
                      Container(
                        key: key,
                        height: height / 2,
                        color: Colors.red,
                        child: buildChildren(),
                      )
                    ],
                  );
          },
        ),
        backgroundColor: Colors.yellow,
      );
    }
  
    buildChildren() {
      return Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: &lt;Widget&gt;[
          Center(
            child: Text(
              "Body height: " + height.toString(),
              style: TextStyle(color: Colors.white, fontSize: 30),
            ),
          ),
          Center(
            child: MediaQuery.of(context).orientation == Orientation.landscape ? Text(
              "Container height: " + 640.0.toString(),
              style: TextStyle(color: Colors.white, fontSize: 30),
            ) : Text(
              "Container height: " + 576.0.toString(),
              style: TextStyle(color: Colors.white, fontSize: 30),
            ),
          ),
          Center(
            child: Text(
              "Device height: " + MediaQuery.of(context).size.height.toString(),
              style: TextStyle(color: Colors.white, fontSize: 30),
            ),
          ),
        ],
      );
    }
  }
  </code></pre>
  
  <p>This is the minimal code needed to reproduce this issue the expected output is the black containers take up the entire available screen real estate, so that none of the scaffold background color is visible. Any help is appreciated.</p>
  
  <p>My goal is to get an Image to fill the entire black container which should fill the entire body in landscape mode on all tablets I am testing on the nexus 10 emu</p>