title: Programmatically scrolling to the end of a ListView
body: <p>I have a scrollable <code>ListView</code> where the number of items can change dynamically. Whenever a new item is added to the end of the list, I would like to programmatically scroll the <code>ListView</code> to the end. (e.g., something like a chat message list where new messages can be added at the end)</p>
  
  <p>My guess is that I would need to create a <code>ScrollController</code> in my <code>State</code> object and pass it manually to the <code>ListView</code> constructor, so I can later call <code>animateTo()</code> / <code>jumpTo()</code> method on the controller. However, since I cannot easily determine the maximum scroll offset, it seems impossible to simply perform a <code>scrollToEnd()</code> type of operation (whereas I can easily pass <code>0.0</code> to make it scroll to the initial position).</p>
  
  <p>Is there an easy way to achieve this?</p>
  
  <p>Using <code>reverse: true</code> is not a perfect solution for me, because I would like the items to be aligned at the top when there are only a small number of items that fit within the <code>ListView</code> viewport.</p>