A marquee widget that loops content seamlessly in a continous animation. The marquee will only animate if the content contained in the widget extends pass the horizontal edge of the screen.

Note: Current limitation is that the elements being displayed are not interactable during the animation.

Usage

Container(
    margin: const EdgeInsets.symmetric(horizontal: 20),
    child: Marquee(
        child: Text('Very long text that bleeds out of the rendering space'),
        loopDuration: const Duration(milliseconds: 5000),
    ),
),

Options

delayDuration: One time delay to wait before starting the rotation animation
gap: Spacing to add between widget end and start
loopDuration: Time for one full rotation of the child
onLoopFinish: Async function to run upon finishing each loop
pixelsPerSecond: Alternate to loop duration, can be used for consistant speed regardless of size

Libraries

widget_marquee