animated_scroll_view library

Scrollable widgets, which lets you easily animate its items list modifications(insert, remove, move, etc.).

Classes

AnimatedGridView<T>
Descendant of AnimatedScrollView.
AnimatedListView<T>
Descendant of AnimatedScrollView.
AnimatedPageView<T>
Descendant of AnimatedScrollView.
AnimatedScrollView<T>
Scrollable widget, which lets you easily animate its items list modifications.
AnimationControllerConfig
Model, which contains animation settings.
AnimationEntity<A extends DoubleAnimation>
Model, which contains the animation, and itemId(id of the item for which this animation is intended).
CustomModificationEventWrapper<T>
Descendant of ModificationEvent.
DefaultEventController<T>
{@macro event_controller}
DefaultItemsAnimationController
{@macro items_animation_controller}
DefaultItemsNotifier<T>
{@macro items_notifier}
DelayedInMemoryAnimation<A extends DoubleAnimation>
{@macro in_memory_animation}
DelayedModificationWrapper<T>
Wrapper of an item of type T.
EventController<T>
Controller, which manages item list modifications(insert, delete, move etc.)
IndexRange
Model that contains start and end indexes of an range;
InMemoryAnimation<A extends DoubleAnimation>
Animation, which is meant to be executed later, when certain conditions are met.
InsertAdaptiveItemEvent<T>
{@macro insert_all_items_event}
InsertAllItemsEvent<T>
Implements insert logic of the items. Manages insert animation.
InsertInfluencedItemEvent<T>
{@macro insert_item_event}
InsertItemEvent<T>
Implements insert logic of the item. Manages insert animation.
ItemModificationResult<T>
Implementation of ModificationResult, which contains one item modification info.
ItemsAnimationController<A extends DoubleAnimation>
Controller, which manages items animations.
ItemsEntity<T>
List of items, that manages both the actual item list, and the list of items, that should be displayed.
ItemsModificationResult<T>
Implementation of ModificationResult, which contains many items modification info.
ItemsNotifier<T>
A listenable, which notifies its listeners about item list modifications.
ModificatedItem<T>
Wrapper of an value of type T, that contains an optional modificationId
ModificationEvent<T>
Base class of modification event. Its descendants should contain modification information. (i.e. move/add/remove some item of type T in/to/from items list)
ModificationEventWithItemAndItemIdConstructors<T>
Descendant of ModificationEvent.
ModificationResult<T>
Model, that contains info about an item modification:
MoveAdaptiveItemEvent<T>
{@template move_adaptive_item_event} Implements move logic of the item. Manages remove and insert animations.
MoveInfluencedItemEvent<T>
{@macro move_item_event}
MoveItemEvent<T>
Implements move logic of the item. Manages remove and insert animations.
OperationPointerIgnoreCondition
{@macro pointer_ignore_condition}.
PointerIgnoreCondition
Class, designated to decide whether to ignore pointers or not.
PointerIgnorer
Widget that decides whether to ignore pointers(user touches), using animation data and ignoreCondition.
RemoveAdaptiveItemEvent<T>
{@macro remove_item_event}
RemoveAndInsertAnimationConfigs
Model that contains animation settings both for remove and insert events.
RemoveInfluencedItemEvent<T>
{@macro remove_item_event}
RemoveItemEvent<T>
Implements remove logic of the item. Manages remove animation.
ScrollViewSliverChildBuilderDelegate
Simple descendant of SliverChildBuilderDelegate.
SizeAndFadeTransition
Simple "short cut" widget, which wraps the child in SizeTransition and FadeTransition widgets
SliverAnimatedGridView<T>
Descendant of AnimatedScrollView.
SliverAnimatedListView<T>
Descendant of AnimatedScrollView.
StaticInMemoryAnimation
{@macro in_memory_animation}
StaticPointerIgnoreCondition
{@macro pointer_ignore_condition}.

Enums

Operation
Enum, that lists comparison operations

Mixins

AnimationControllerMixin<T>
Mixin, which helps with creation and disposing of an AnimationController
CachedAnimationValueMixin
Mixin, that implements ItemsAnimationController.cachedAnimationValue getter
CheckInsertIndexIsValidMixin<T>
Mixin, which helps validating item's index
IDMapperMixin<T>
Mixin, which defines idMapper setters ang getters
InMemoryAnimationMixin<A extends DoubleAnimation>
Mixin, that implements ItemsAnimationController.inMemoryAnimationMap getter
MountedWidgetsIndexRangeMixin<T>
Mixin, which implements ItemsNotifier.mountedWidgetsIndexRange getter
RemoveItemEventAnimationMixin<T>
Mixin, which keeps common item deletion logic

Extensions

CustomEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an CustomModificationEventWrapper
InsertAdaptiveItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an InsertAdaptiveItemEvent
InsertAllItemsEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an InsertAllItemsEvent
InsertInfluencedItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an InsertInfluencedItemEvent
InsertItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an InsertItemEvent
MoveAdaptiveItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an MoveAdaptiveItemEvent
MoveInfluencedItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an MoveInfluencedItemEvent
MoveItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an MoveItemEvent
OperationPointerIgnoreConditionExtension on num
Extension, which will made creation of an OperationPointerIgnoreCondition much simplier and declarative.
RemoveAdaptiveItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an RemoveAdaptiveItemEvent
RemoveInfluencedItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an RemoveInfluencedItemEvent
RemoveItemEventExtension on EventController<T>
Extension on EventController, that provides simplier and more declarative way to add to event controller an RemoveItemEvent
ScrollViewTypeExtension on Type
Extension on Type.
SortedIntSplayTreeSet on SplayTreeSet<int>
Extension that makes easy to create an sorder SplayTreeSet of int's

Typedefs

AnimationConfigsBuilder = RemoveAndInsertAnimationConfigs Function(int currentIndex)
Callback, which builds a RemoveAndInsertAnimationConfigs using given currentIndex
DoubleAnimation = Animation<double>
Animation<double>
EventBuilder<T> = ModificationEvent<T> Function(Type type)
Callback, which provides the current ScrollView runtimeType, and expects as a result a ModificationEvent
IDMapper<T> = String Function(T object)
Callback, which generates an id of type String from T object.
ItemBuilder<T> = Widget Function(T item)
Widget builder.
ItemWrapper = Widget Function(DoubleAnimation animation, Widget item)
Builder for wrapping an item (which comes from AnimatedScrollView.itemBuilder) in some widget. E. g.: SizeTransition, FadeTransition, SizeAndFadeTransition, PointerIgnorer etc.
OnDidFinishLayoutCallback = void Function(int firstIndex, int lastIndex)
Intended to be passed to SliverChildDelegate.didFinishLayout
OnExecuteCustomEventCallback<T> = Future<void> Function(TickerProvider vsync, ItemsNotifier<T> itemsNotifier, EventController<T> eventController, ItemsAnimationController<DoubleAnimation> itemsAnimationController)
Callback, which provides TickerProvider, ItemsNotifier, EventController, and ItemsAnimationController.
ScrollableBuilder = Widget Function(int itemCount, IndexedWidgetBuilder itemBuilder, OnDidFinishLayoutCallback onDidFinishLayout)
Callback which must return as result a Scrollable widget

Exceptions / Errors

AnimatedScrollViewException
Base exception class, descendants of which are thrown from animated_scroll_view package
AnimationNotInstantiatedException
Exception, which is thrown when InMemoryAnimation.run is called before InMemoryAnimation.init
IDMapperNotSetException
Exception, which is thrown when IDMapperMixin.idMapper getter is called before IDMapper was set.
InvalidInsertionIndexException
Descendant of AnimatedScrollViewException.
ItemNotFoundException
Exception, which is thrown when an item is not found in item list.
MarkedAsRemovedItemNotFoundException
{@macro item_not_found_exception}