ListWheelScrollView class

A box in which children on a wheel can be scrolled.

This widget is similar to a ListView but with the restriction that all children must be the same size along the scrolling axis.

When the list is at the zero scroll offset, the first child is aligned with the middle of the viewport. When the list is at the final scroll offset, the last child is aligned with the middle of the viewport.

The children are rendered as if rotating on a wheel instead of scrolling on a plane.

Inheritance

Constructors

ListWheelScrollView({Key? key, ScrollController? controller, ScrollPhysics? physics, double diameterRatio = RenderListWheelViewport.defaultDiameterRatio, double perspective = RenderListWheelViewport.defaultPerspective, double offAxisFraction = 0.0, bool useMagnifier = false, double magnification = 1.0, double overAndUnderCenterOpacity = 1.0, required double itemExtent, double squeeze = 1.0, ValueChanged<int>? onSelectedItemChanged, bool renderChildrenOutsideViewport = false, Clip clipBehavior = Clip.hardEdge, HitTestBehavior hitTestBehavior = HitTestBehavior.opaque, String? restorationId, ScrollBehavior? scrollBehavior, DragStartBehavior dragStartBehavior = DragStartBehavior.start, required List<Widget> children})
Constructs a list in which children are scrolled a wheel. Its children are passed to a delegate and lazily built during layout.
ListWheelScrollView.useDelegate({Key? key, ScrollController? controller, ScrollPhysics? physics, double diameterRatio = RenderListWheelViewport.defaultDiameterRatio, double perspective = RenderListWheelViewport.defaultPerspective, double offAxisFraction = 0.0, bool useMagnifier = false, double magnification = 1.0, double overAndUnderCenterOpacity = 1.0, required double itemExtent, double squeeze = 1.0, ValueChanged<int>? onSelectedItemChanged, bool renderChildrenOutsideViewport = false, Clip clipBehavior = Clip.hardEdge, HitTestBehavior hitTestBehavior = HitTestBehavior.opaque, String? restorationId, ScrollBehavior? scrollBehavior, DragStartBehavior dragStartBehavior = DragStartBehavior.start, required ListWheelChildDelegate childDelegate})
Constructs a list in which children are scrolled a wheel. Its children are managed by a delegate and are lazily built during layout.
const

Properties

childDelegate ListWheelChildDelegate
A delegate that helps lazily instantiating child.
final
clipBehavior Clip
The content will be clipped (or not) according to this option.
final
controller ScrollController?
Typically a FixedExtentScrollController used to control the current item.
final
diameterRatio double
A ratio between the diameter of the cylinder and the viewport's size in the main axis.
final
dragStartBehavior DragStartBehavior
Determines the way that drag start behavior is handled.
final
hashCode int
The hash code for this object.
no setterinherited
hitTestBehavior HitTestBehavior
Defines the behavior of gesture detector used in this Scrollable.
final
itemExtent double
Size of each child in the main axis.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
magnification double
The zoomed-in rate of the magnifier, if it is used.
final
offAxisFraction double
How much the wheel is horizontally off-center, as a fraction of its width. This property creates the visual effect of looking at a vertical wheel from its side where its vanishing points at the edge curves to one side instead of looking at the wheel head-on.
final
onSelectedItemChanged ValueChanged<int>?
On optional listener that's called when the centered item changes.
final
overAndUnderCenterOpacity double
The opacity value that will be applied to the wheel that appears below and above the magnifier.
final
perspective double
Perspective of the cylindrical projection.
final
physics ScrollPhysics?
How the scroll view should respond to user input.
final
renderChildrenOutsideViewport bool
Whether to paint children inside the viewport only.
final
restorationId String?
Restoration ID to save and restore the scroll offset of the scrollable.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollBehavior ScrollBehavior?
A ScrollBehavior that will be applied to this widget individually.
final
squeeze double
The angular compactness of the children on the wheel.
final
useMagnifier bool
Whether to use the magnifier for the center item of the wheel.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<ListWheelScrollView>
Creates the mutable state for this widget at a given location in the tree.
override
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