Open
Description
I'd like to propose you change ItemPositionsListener
's factory to:
factory ItemPositionsListener() => ItemPositionsNotifier();
And also add these:
void addListener(VoidCallback listener) => itemPositions.addListener(listener);
void removeListener(VoidCallback listener) => itemPositions.removeListener(listener);
The reason is that Flutter devs are used to do this:
myListener = ItemPositionsListener()..addListener(_onScroll);
myListener.removeListener(_onScroll);
But the current way is very unintuitive:
myListener = ItemPositionsListener.create()..itemPositions.addListener(_onScroll);
myListener.itemPositions.removeListener(_onScroll);