XCollectionView<T> class

A list or grid with the same fetch, refresh, pagination, and state API.

This is a convenience layer over XScrollView for screens that may switch between list and grid presentation without rewriting data-loading logic.

Inheritance

Constructors

XCollectionView.grid({required XScrollItemBuilder<T> itemBuilder, required SliverGridDelegate? gridDelegate, Key? key, XScrollFetcher<T>? onInit, XScrollFetcher<T>? onLoadMore, ValueChanged<List<T>>? onItemsChanged, XScrollItemTap<T>? onItemTap, List<T> initialItems = const [], bool initialHasMore = true, int pageSize = 20, bool autoLoad = true, bool enableRefresh = true, Axis scrollDirection = Axis.vertical, double refreshTriggerExtent = 80, double paginationThreshold = 200, ScrollController? controller, EdgeInsetsGeometry? padding, ScrollPhysics? physics, Widget? header, Widget? footer, WidgetBuilder? loadingBuilder, WidgetBuilder? emptyBuilder, XScrollErrorBuilder? errorBuilder, WidgetBuilder? paginationLoadingBuilder, XScrollErrorBuilder? paginationErrorBuilder, XScrollRefreshIndicatorBuilder? refreshIndicatorBuilder, bool shrinkWrap = false, bool reverse = false, double? cacheExtent})
Creates a paginated grid collection.
const
XCollectionView.list({required XScrollItemBuilder<T> itemBuilder, Key? key, XScrollFetcher<T>? onInit, XScrollFetcher<T>? onLoadMore, ValueChanged<List<T>>? onItemsChanged, XScrollItemTap<T>? onItemTap, List<T> initialItems = const [], bool initialHasMore = true, int pageSize = 20, bool autoLoad = true, bool enableRefresh = true, Axis scrollDirection = Axis.vertical, double refreshTriggerExtent = 80, double paginationThreshold = 200, ScrollController? controller, EdgeInsetsGeometry? padding, ScrollPhysics? physics, IndexedWidgetBuilder? separatorBuilder, Widget? header, Widget? footer, WidgetBuilder? loadingBuilder, WidgetBuilder? emptyBuilder, XScrollErrorBuilder? errorBuilder, WidgetBuilder? paginationLoadingBuilder, XScrollErrorBuilder? paginationErrorBuilder, XScrollRefreshIndicatorBuilder? refreshIndicatorBuilder, bool shrinkWrap = false, bool reverse = false, double? cacheExtent})
Creates a paginated list collection.
const

Properties

autoLoad bool
final
cacheExtent double?
final
controller ScrollController?
final
emptyBuilder WidgetBuilder?
final
enableRefresh bool
final
errorBuilder XScrollErrorBuilder?
final
final
gridDelegate SliverGridDelegate?
Delegate controlling grid sizing in XCollectionLayout.grid.
final
hashCode int
The hash code for this object.
no setterinherited
final
initialHasMore bool
final
initialItems List<T>
final
itemBuilder XScrollItemBuilder<T>
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
layout XCollectionLayout
Selected collection layout.
final
loadingBuilder WidgetBuilder?
final
onInit XScrollFetcher<T>?
final
onItemsChanged ValueChanged<List<T>>?
final
onItemTap XScrollItemTap<T>?
final
onLoadMore XScrollFetcher<T>?
final
padding EdgeInsetsGeometry?
final
pageSize int
final
paginationErrorBuilder XScrollErrorBuilder?
final
paginationLoadingBuilder WidgetBuilder?
final
paginationThreshold double
final
physics ScrollPhysics?
final
refreshIndicatorBuilder XScrollRefreshIndicatorBuilder?
final
refreshTriggerExtent double
final
reverse bool
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollDirection Axis
final
separatorBuilder IndexedWidgetBuilder?
final
shrinkWrap bool
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited