RoundScrollbar class

A curved scrollbar designed for circular Wear OS screens.

This widget provides a visually appealing and intuitive scrollbar that follows the curvature of round displays. It's designed to work seamlessly with scrollable views like PageView, ListView, and others. The scrollbar can be controlled through touch gestures on the scrollable content.

See also:

  • RotaryScrollbar, a similar scrollbar that also responds to rotary input events from devices with rotating bezels or crowns.
Inheritance

Constructors

RoundScrollbar({required Widget child, ScrollController? controller, double padding = 8, double width = 8, bool autoHide = true, Curve opacityAnimationCurve = Curves.easeInOut, Duration opacityAnimationDuration = const Duration(milliseconds: 250), Duration autoHideDuration = const Duration(seconds: 3), Color? trackColor, Color? thumbColor, Key? key})
Creates a RoundScrollbar.
const

Properties

autoHide bool
Determines whether the scrollbar should automatically hide after a period of inactivity.
final
autoHideDuration Duration
The amount of time the scrollbar remains visible after a scroll event before fading out.
final
child Widget
The widget that will be wrapped with the scrollbar.
final
controller ScrollController?
The ScrollController associated with the scrollable widget this scrollbar is controlling.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
opacityAnimationCurve Curve
The animation curve used to control the showing and hiding animation of the scrollbar.
final
opacityAnimationDuration Duration
The duration of the animation for showing and hiding the scrollbar.
final
padding double
The padding around the scrollbar track.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
thumbColor Color?
Overrides the default color of the scrollbar thumb.
final
trackColor Color?
Overrides the default color of the scrollbar track.
final
width double
The width of the scrollbar track and thumb.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
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