scrollable_positioned_list

Last updated:

0 purchases

scrollable_positioned_list Image
scrollable_positioned_list Images
Add to Cart

Description:

scrollable positioned list

scrollable_positioned_list #
A flutter list that allows scrolling to a specific item in the list.
Also allows determining what items are currently visible.
Usage #
A ScrollablePositionedList works much like the builder version of ListView
except that the list can be scrolled or jumped to a specific item.
Example #
A ScrollablePositionedList can be created with:
final ItemScrollController itemScrollController = ItemScrollController();
final ScrollOffsetController scrollOffsetController = ScrollOffsetController();
final ItemPositionsListener itemPositionsListener = ItemPositionsListener.create();
final ScrollOffsetListener scrollOffsetListener = ScrollOffsetListener.create()

ScrollablePositionedList.builder(
itemCount: 500,
itemBuilder: (context, index) => Text('Item $index'),
itemScrollController: itemScrollController,
scrollOffsetController: scrollOffsetController,
itemPositionsListener: itemPositionsListener,
scrollOffsetListener: scrollOffsetListener,
);
copied to clipboard
One then can scroll to a particular item with:
itemScrollController.scrollTo(
index: 150,
duration: Duration(seconds: 2),
curve: Curves.easeInOutCubic);
copied to clipboard
or jump to a particular item with:
itemScrollController.jumpTo(index: 150);
copied to clipboard
One can monitor what items are visible on screen with:
itemPositionsListener.itemPositions.addListener(() => ...);
copied to clipboard
Experimental APIs (subject to bugs and changes) #
Changes in scroll position can be monitored with:
scrollOffsetListener.changes.listen((event) => ...)
copied to clipboard
see ScrollSum in this test for an example of how the current offset can be
calculated from the stream of scroll change deltas. This feature is new and experimental.
Changes in scroll position in pixels, relative to the current scroll position, can be made with:
scrollOffsetController.animateScroll(offset: 100, duration: Duration(seconds: 1));
copied to clipboard
A full example can be found in the example folder.

This is not an officially supported Google product.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.