title: Show a text field dialog without being covered by keyboard?
body: <p>I'm trying to create a <code>SimpleDialog</code> that allows the user to enter their name.  But when it is displayed the dialog is half hidden by the on-screen keyboard:</p>
  
  <p><a href="https://i.stack.imgur.com/Sh54j.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Sh54j.png" alt="Screenshot"></a></p>
  
  <p>How can I get the <code>Dialog</code> to be fully visible?</p>
  
  <p>Edit: I find it strange that the homepage widget (FocusVisibilityDemo) recognises the reduced height and therefore adjusts the position of the 'Push Me' button to remain in the center.  Unfortunately the dialog doesn't behave the same way.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>import 'package:flutter/material.dart';
  
  class FocusVisibilityDemo extends StatefulWidget {
    @override
    _FocusVisibilityDemoState createState() =&gt; new _FocusVisibilityDemoState();
  }
  
  class _FocusVisibilityDemoState extends State&lt;FocusVisibilityDemo&gt; {
    @override
    Widget build(BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(title: new Text('Text Dialog Demo')),
        body: new Center(
          child: new RaisedButton(
            onPressed: _showDialog,
            child: new Text("Push Me"),
          ),
        ),
      );
    }
  
    _showDialog() async {
      await showDialog&lt;String&gt;(
        context: context,
        child: new AlertDialog(
          contentPadding: const EdgeInsets.all(16.0),
          content: new Row(
            children: &lt;Widget&gt;[
              new Expanded(
                child: new TextField(
                  autofocus: true,
                  decoration: new InputDecoration(
                      labelText: 'Full Name', hintText: 'eg. John Smith'),
                ),
              )
            ],
          ),
          actions: &lt;Widget&gt;[
            new FlatButton(
                child: const Text('CANCEL'),
                onPressed: () {
                  Navigator.pop(context);
                }),
            new FlatButton(
                child: const Text('OPEN'),
                onPressed: () {
                  Navigator.pop(context);
                })
          ],
        ),
      );
    }
  }
  
  void main() {
    runApp(new MaterialApp(home: new FocusVisibilityDemo()));
  }
  </code></pre>