Here's a few collections of links to posts that have helped me.

Scroll a widget into view

In my case, I had a bunch of disparate widgets rendered in a ListView, so I couldn't predict where the widget I wanted to scroll to was. ListView's ScrollController only allows you to scroll by a specified amount, so that wouldn't work. Turns out you should use a use Scrollable.ensureVisible(context), and replace the ListView by a SingleChildScrollView<Column> to not use ListView's lazy rendering.

Flutter: Scrolling to a widget in ListView
How can I scroll to a special widget in a ListView? For instance I want to scroll automatically to some Container in the ListView if I press a specific button. ListView(children: &lt;Widget&gt;[