title: proper way to get widget height in SafeArea
body: <p>I'm trying to get the height of widget but it prints the same values</p>
  
  <blockquote>
  <pre><code>I/flutter (19253): full height: 976.0
  I/flutter (19253): safe height: 976.0
  </code></pre>
  </blockquote>
  
  <p>I guessed the second value should be smaller because the Container placed below the status bar. What I'm doing wrong?
  I need height because in this container will be Wrap widget (actually ReorderableWrap <a href="https://pub.dartlang.org/packages/reorderables#-readme-tab-" rel="noreferrer">https://pub.dartlang.org/packages/reorderables#-readme-tab-</a>) with 36 cards, 3 rows by 12 cards and cards height must be 1/3 of its container. </p>
  
  <p>I didn't find good Reorderable Grid. But anyway my question why a Container in a safe area has the same height as Container that fills the entire screen?</p>
  
  <pre><code>import 'package:flutter/material.dart';
  
  void main() {
    runApp(_MyApp());
  }
  
  class _MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        debugShowCheckedModeBanner: false,
        home: Scaffold(body: _Body()),
      );
    }
  }
  
  class _Body extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      print('full height: ${MediaQuery.of(context).size.height}');
      return Container(
        constraints: BoxConstraints.expand(),
        decoration: BoxDecoration(color: Colors.red),
        child: SafeArea(
          child: _SafeHeightWidget(),
        ),
      );
    }
  }
  
  class _SafeHeightWidget extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      print('safe height: ${MediaQuery.of(context).size.height}');
      return Container(
        color: Colors.lightBlue,
      );
    }
  }
  </code></pre>