• Hans Muller's avatar
    Adds PageableList, other scrolling related changes and fixes · 7782a115
    Hans Muller authored
    - PageableList extends ScrollableList
    One fixed width or height item is visible and centered at a
    time. Fling and drag gestures scroll to the next/previous item.
    
    - Scrollable.scrollTo(), Scrollable.scrollBy(), ensureWidgetIsVisible() API changed
    The named animation parameter for these methods was replaced by
    duration and curve. All of the methods now return a Future. The Future
    completes when the scroll does.
    
    This change eliminates the need for Scrollable to temporarily take ownership
    of a ValueAnimation object (see #645).
    
    - Using Future.then() instead of an AnimationPerformance status listener
    In ensure_visible.dart _handleTap() uses ensureWidgetIsVisible() to
    center the card roughly as before and then. When the implicit scroll
    animation is complete, it changes the centered card's label font. The
    change is made when the Future returned by ensureWidgetIsVisible()
    completes.
    
    - FixedHeightScrollable's itemHeight parameter is now itemExtent
    If scrollDirection is ScrollDirection.vertical (the default) then itemExtent should
    be the height of each item; otherwise it should be the width of each item.
    
    Replaced _velocityForFlingGesture() in scrollable.dart with Scrollable._eventVelocity()
    The original version clamped pixels/ms against pixels/sec constants. The new version
    also deals with scrollDirection.
    
    - Plumbed scrollDirection though FixedHeightScrollable and ScrollableList
    
    Both classes should now support horizontal scrolling.
    7782a115
Name
Last commit
Last update
examples Loading commit data...
packages/flutter Loading commit data...