• Adam Barth's avatar
    Scrollable physics should be reasonable when sizes change · f7f1259b
    Adam Barth authored
    Previously, when the content extent changed during a scroll interaction, we'd
    stop the current scroll interaction and reset the scroll offset. Now we try to
    continue the scroll interaction (e.g., drag, fling, or overscroll) even through
    the underlying scroll behavior has changed.
    
    For physics-based scroll interactions, we keep the current position and
    velocity and recompute the operative forces. For drag interactions, we keep the
    current position and continue to let the user drag the scroll offset.
    
    After this patch, we still disrupt non-physical scroll animations that are
    operating outside the new scroll bounds because it's not clear how we can
    sensibly modify them to work with the new scroll bounds.
    f7f1259b
scrollable.dart 31.7 KB