Repository: flutter
Issue: ScrollViews need to be direct children of Scaffold for TextFields to scroll into focus
Labels: a: text input,framework,f: material design,f: routes,f: focus,has reproducible steps,P2,found in release: 3.3,found in release: 3.6,team-design,triaged-design

`TextField`s scroll into focus properly when the containing scrollview is a direct child of a `Scaffold`. However, if you push on a new screen, a new `Scaffold` is needed in order for the `TextField`s to scroll into focus in the newly pushed class. I would think that so long as a `Scaffold` is in the hierarchy that I should be able to push on new screens with scrollable `TextField`s without wrapping the new screen in a `Scaffold`. The below example will scroll textfields into focus properly on the first page, but when pushing on a new screen  by tapping the `FloatingActionButton`, the `TextField`s will not scroll.

```dart
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'TextField Scroll Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('TextField Scroll Demo'),
      ),
      body: Form(
        child: ListView.builder(
            itemCount: 20,
            itemBuilder: (context, index) {
              return TextFormField(initialValue: index.toString());
            }),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(
            context,
            MaterialPageRoute(
                builder: (context) {
                  return NewPage();
                }),
          );
        },
      ),
    );
  }
}

// Won't scroll without a new Scaffold
class NewPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Material(
      child: Form(
        child: ListView.builder(
            itemCount: 20,
            itemBuilder: (context, index) {
              return TextFormField(initialValue: index.toString());
            }),
      ),
    );
  }
}
```

`flutter doctor -v`
```
[✓] Flutter (Channel unknown, v1.1.10-pre.45, on Mac OS X 10.14.2 18C54, locale en-US)
    • Flutter version 1.1.10-pre.45 at /Users/albertlardizabal/dev/flutter
    • Framework revision 78f4878fe1 (2 weeks ago), 2019-01-13 20:44:59 -0800
    • Engine revision 5722a9685e
    • Dart version 2.1.1 (build 2.1.1-dev.1.0 f0c7d971c4)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/albertlardizabal/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 32.0.1
    • Dart plugin version 182.5124
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[✓] IntelliJ IDEA Community Edition (version 2018.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 31.3.4
    • Dart plugin version 183.5153.38
```