scroll_texts_widget 0.0.1 copy "scroll_texts_widget: ^0.0.1" to clipboard
scroll_texts_widget: ^0.0.1 copied to clipboard

A highly efficient and modular Flutter widget for creating scrolling marquee text banners.

scroll_texts_widget #

A highly efficient and modular Flutter widget for creating scrolling marquee text banners.

Unlike standard Flutter widgets that may struggle with long strings or rely on the device's animation scale, scroll_texts_widget uses CustomPainter and a custom Ticker to ensure smooth, pixel-perfect scrolling with maximum performance efficiency.

✨ Key Features #

  • 🚀 Efficient Partial Rendering: Utilizes CustomPainter to render only the visible portion of the text. This makes it exceptionally performant for long texts, as the framework never lays out or renders off-screen elements.
  • ⏱️ Consistent Scroll Speed: Animation is controlled by a user-defined pixels-per-second (scrollSpeed) value, guaranteeing uniform velocity across texts of varying lengths.
  • ⚙️ Platform-Independent Animation: Uses a Ticker instead of AnimationController to bypass the device's animation scale settings, ensuring the scroll speed is always accurate.
  • 🌍 RTL Support: Explicitly handles TextDirection.rtl for languages like Arabic and Hebrew, adjusting both the text layout and the scrolling direction (Left-to-Right).
  • 📏 Auto-Sizing: Automatically adjusts its height to perfectly match the height of the rendered text, preventing vertical overflow errors.

💻 Usage #

To use this package, simply provide a list of strings and configure your desired style and speed.

Example #

import 'package:flutter/material.dart';
import 'package:scroll_texts_widget/scroll_texts_widget.dart';

class MyMarqueeApp extends StatelessWidget {
  const MyMarqueeApp({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Efficient Marquee Demo')),
      body: Center(
        child: Container(
          padding: const EdgeInsets.symmetric(vertical: 8.0),
          color: Colors.blueGrey.shade100,
          child: ScrollTextsWidget(
            texts: const [
              'Welcome to the highly efficient Flutter scroll text package.',
              'This text will scroll at a consistent 75 pixels per second!',
            ],
            textStyle: const TextStyle(
              fontSize: 30.0,
              fontWeight: FontWeight.bold,
              color: Colors.deepPurple,
            ),
            scrollSpeed: 75.0, // 75 pixels per second
            pauseDuration: const Duration(seconds: 1),
            // Example of RTL usage
            textDirection: TextDirection.rtl, 
          ),
        ),
      ),
    );
  }
}

🛠️ Installation #

Add the following to your pubspec.yaml file:

  dependencies:
    scroll_texts_widget: ^latest_version
0
likes
160
points
27
downloads

Publisher

verified publishershakyapurna.com.np

Weekly Downloads

A highly efficient and modular Flutter widget for creating scrolling marquee text banners.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on scroll_texts_widget