import 'package:didvan/views/widgets/overflow_proof_text.dart'; import 'package:flutter/widgets.dart'; import 'package:marquee/marquee.dart'; class MarqueeText extends StatelessWidget { final String text; final TextStyle style; final String? marqueeText; final TextStyle? marqueeStyle; final Duration stop; final TextDirection textDirection; const MarqueeText( {super.key, required this.text, required this.style, this.marqueeText, this.marqueeStyle, this.stop = Duration.zero, this.textDirection = TextDirection.ltr}); @override Widget build(BuildContext context) { return OverflowProofText( text: Text( text, style: style, maxLines: 1, ), fallback: SizedBox( height: (marqueeStyle == null ? style.fontSize! : marqueeStyle!.fontSize!) * DefaultTextStyle.of(context).style.height!, child: Center( child: Marquee( text: marqueeText ?? text, scrollAxis: Axis.horizontal, textDirection: textDirection, crossAxisAlignment: CrossAxisAlignment.center, accelerationCurve: Curves.easeOut, velocity: 30, blankSpace: 34.0, accelerationDuration: stop, style: marqueeStyle ?? style, ), ), )); } }