scrollable_positioned_list_extended 0.3.8 scrollable_positioned_list_extended: ^0.3.8 copied to clipboard
scrollable_positioned_list with helper methods like scrollToMax,scrollToMin,jumpToMax and jumToMin.
scrollable_positioned_list_extended #
A flutter list that allows scrolling to a specific item in the list.
Also allows determining what items are currently visible.
Note #
This is an extension of scrollable_positioned_list, which exposes helper methods like scrollToMax
extent, jumpToMax
extent and also scrollListener
to listen notifications which has not implemented in that yet.
Added Features #
scrollToMax
For scrolling to maximum extent.jumpToMax
For jumping to maximum extent.scrollToMin
For scrolling to minimum extent.jumpToMin
For jumping to minimum extent.scrollListener
For listeningScrollNotifications
like current offsetScrollPostition
see here.
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 ItemPositionsListener itemPositionsListener = ItemPositionsListener.create();
ScrollablePositionedList.builder(
itemCount: 500,
itemBuilder: (context, index) => Text('Item $index'),
itemScrollController: itemScrollController,
itemPositionsListener: itemPositionsListener,
);
One then can scroll to a particular item with:
itemScrollController.scrollTo(
index: 150,
duration: Duration(seconds: 2),
curve: Curves.easeInOutCubic);
or jump to a particular item with:
itemScrollController.jumpTo(index: 150);
One can monitor what items are visible on screen with:
itemPositionsListener.itemPositions.addListener(() => ...);
One can listen to scrollNotifications of primary ScrollController
itemScrollController.scrollListener(
(notification) {
debugPrint(notification.position.maxScrollExtent.toString());
/// do with notification
},
);
One can scroll to max
itemScrollController.scrollToMax(
duration: Duration(seconds: 2),
curve: Curves.easeInOutCubic);
or jump to maxExtent:
itemScrollController.jumpToMax();
One can scroll to min
itemScrollController.scrollToMin(
duration: Duration(seconds: 2),
curve: Curves.easeInOutCubic);
or jump to minExtent:
itemScrollController.jumpToMin();
A full example can be found in the example folder.
This is not an officially supported Google product.