Marquee class

A widget that repeats text and automatically scrolls it infinitely.

Sample code

This is a minimalistic example:

Marquee(
  text: 'There once was a boy who told this story about a boy: "',
)

And here's a piece of code that makes full use of the marquee's customizability:

Marquee(
  text: 'Some sample text that takes some space.',
  style: TextStyle(fontWeight: FontWeight.bold),
  scrollAxis: Axis.horizontal,
  blankSpace: 20.0,
  velocity: 100.0,
  pauseAfterRound: Duration(seconds: 1),
  startPadding: 10.0,
  accelerationDuration: Duration(seconds: 1),
  accelerationCurve: Curves.linear,
  decelerationDuration: Duration(milliseconds: 500),
  decelerationCurve: Curves.easeOut,
)

See also:

  • ListView.builder, where by returning the same widget to the builder every time, a similar result can be achieved, just without the automatic scrolling and manual scrolling enabled.
Inheritance

Constructors

Marquee({Key? key, required String text, TextStyle? style, double? textScaleFactor, TextDirection textDirection = TextDirection.ltr, Axis scrollAxis = Axis.horizontal, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, double blankSpace = 0.0, double velocity = 50.0, Duration startAfter = Duration.zero, Duration pauseAfterRound = Duration.zero, bool showFadingOnlyWhenScrolling = true, double fadingEdgeStartFraction = 0.0, double fadingEdgeEndFraction = 0.0, int? numberOfRounds, double startPadding = 0.0, Duration accelerationDuration = Duration.zero, Curve accelerationCurve = Curves.decelerate, Duration decelerationDuration = Duration.zero, Curve decelerationCurve = Curves.decelerate, VoidCallback? onDone})

Properties

accelerationCurve → _IntegralCurve
The acceleration at the start of each round.
final
accelerationDuration Duration
How long the acceleration takes.
final
blankSpace double
The extend of blank space to display between instances of the text.
final
crossAxisAlignment CrossAxisAlignment
The alignment along the cross axis.
final
decelerationCurve → _IntegralCurve
The deceleration at the end of each round.
final
decelerationDuration Duration
How long the deceleration takes.
final
fadingEdgeEndFraction double
The fraction of the Marquee that will be faded on the right or down. By default, there won't be any fading.
final
fadingEdgeStartFraction double
The fraction of the Marquee that will be faded on the left or top. By default, there won't be any fading.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
numberOfRounds int?
When the text scrolled around numberOfRounds times, it will stop scrolling null indicates there is no limit
final
onDone VoidCallback?
This function will be called if numberOfRounds is set and the Marquee finished scrolled the specified number of rounds.
final
pauseAfterRound Duration
After each round, a pause of this duration occurs.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollAxis Axis
The scroll axis.
final
showFadingOnlyWhenScrolling bool
Whether the fading edge should only appear while the text is scrolling.
final
startAfter Duration
Start scrolling after this duration after the widget is first displayed.
final
startPadding double
A padding for the resting position.
final
style TextStyle?
The style of the text to be displayed.
final
text String
The text to be displayed.
final
textDirection TextDirection
The text direction of the text to be displayed.
final
textScaleFactor double?
The font scale of the text to be displayed.
final
velocity double
The scrolling velocity in pixels per second.
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}) 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