Repository: flutter
Issue: Option to disable scrolling simulation of the scroll view when its content dimension is changed
Labels: framework,a: animation,f: scrolling,c: proposal,P3,team-framework,triaged-framework

Hi Team,
I have prepared a simple application with a scrollable container in the horizontal direction. The scrolling simulation is applied when I changed the content dimension of the scrollable container after the scroll position is reached to the `maxScrollExtend` position. This is the default behavior in flutter scroll view widget. But, I need to restrict the scrolling simulation.

Please, let me know the workaround of how to restrict the scrolling simulation or how to customize the scrolling without the simulation behavior.

## Steps to Reproduce

1. Run the below simple sample.
2. Scroll fully in the horizontal direction manually and reach the end.
3. Tap the floating button to change the size at runtime.

**Code snippets:**

```dart

class ScrollingSimulationDemo extends StatefulWidget {
  ScrollingSimulationDemo({Key? key}) : super(key: key);

  @override
  _ScrollingSimulationDemoState createState() => _ScrollingSimulationDemoState();
}

class _ScrollingSimulationDemoState extends State<ScrollingSimulationDemo> {
  double width = 500;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: SingleChildScrollView(
        scrollDirection: Axis.horizontal,
        child: Container(
          color: Colors.lightBlue[100],
          height: 350,
          width: width,
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          width = 250.0;
          setState(() {});
        },
      ),
    );
  }
}

```

**Expected results:** The scroll view content dimension should be changed without the simulation effect.

**Actual results:** The scrolling simulation is applied to the scroll view content when it changed at runtime.

<details>
  <summary>Flutter Doctor</summary>
  
```
[√] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.18363.1440], locale en-US)
    • Flutter version 2.2.3 at C:\src\flutter
    • Framework revision f4abaa0735 (9 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\AshokKuvaraja\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Professional 2019 16.4.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
    • Visual Studio Professional 2019 version 16.4.29806.167
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 3.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] VS Code, 64-bit edition (version 1.58.0)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.25.0

[√] Connected device (2 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.18363.1440]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 92.0.4515.159
```

</details>