zeba_academy_screen_overlay

A powerful and lightweight Flutter package to create interactive tutorial overlays, highlight widgets, and guide users step-by-step โ€” fully offline and reusable.


โœจ Features

  • ๐ŸŽฏ Highlight specific widgets using GlobalKey
  • ๐Ÿงญ Step-by-step guided tutorials
  • ๐ŸŽจ Customizable tooltip UI
  • ๐ŸŽฌ Smooth animated transitions
  • ๐Ÿงฉ Works with any Flutter widget
  • โšก Fully offline (no API or external dependencies)
  • ๐Ÿ” Reusable overlay controller

๐Ÿš€ Installation

Add this to your pubspec.yaml:

dependencies:
  zeba_academy_screen_overlay: ^0.0.1

Then run:

flutter pub get

๐Ÿ“ฆ Usage

1. Import package

import 'package:zeba_academy_screen_overlay/zeba_academy_screen_overlay.dart';

2. Create GlobalKeys

final key1 = GlobalKey();
final key2 = GlobalKey();

3. Attach keys to widgets

ElevatedButton(
  key: key1,
  onPressed: () {},
  child: Text("Button 1"),
)

4. Start Overlay Tutorial

final controller = ZebaOverlayController();

WidgetsBinding.instance.addPostFrameCallback((_) {
  controller.start(context, [
    OverlayStep(
      targetKey: key1,
      title: "Welcome",
      description: "This is your first button",
    ),
    OverlayStep(
      targetKey: key2,
      title: "Next Step",
      description: "This is your second button",
    ),
  ]);
});

๐Ÿง  How It Works

  • Uses Flutter's OverlayEntry to render UI above your app
  • Locates widgets using GlobalKey
  • Draws highlight using CustomPainter
  • Displays tooltip with step instructions

๐ŸŽจ Customization Ideas

  • Custom tooltip design
  • Animation styles (fade, scale, slide)
  • Highlight shape (circle, rounded rectangle)
  • Tap outside to dismiss
  • Gesture navigation (swipe next/previous)

๐Ÿงช Testing

Run tests using:

flutter test

๐Ÿ“ฆ Package Structure

lib/
 โ”œโ”€โ”€ zeba_academy_screen_overlay.dart
 โ”œโ”€โ”€ src/
 โ”‚    โ”œโ”€โ”€ overlay_controller.dart
 โ”‚    โ”œโ”€โ”€ overlay_entry_widget.dart
 โ”‚    โ”œโ”€โ”€ highlight_painter.dart
 โ”‚    โ”œโ”€โ”€ overlay_step.dart

๐Ÿ“„ License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

๐Ÿ”“ GPL-3.0 Summary

  • You can use, modify, and distribute freely
  • Must disclose source code when distributing
  • Same license must be applied to derivatives
  • No warranty provided

Full License Text: https://www.gnu.org/licenses/gpl-3.0.en.html


๐Ÿ‘จโ€๐Ÿ’ป About Me

โœจ Iโ€™m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects. You can learn more about me and my work at sufyanism.com or connect with me on Linkedin


๐ŸŒ Your all-in-one no-bloat hub!

๐Ÿš€ Explore cutting-edge resources in coding, tech, and development at zeba.academy and code.zeba.academy. Empower yourself with practical skills through curated directives, real-world projects, and hands-on experience. Level up your tech game today! ๐Ÿ’ปโœจ

Zeba Academy is a learning platform dedicated to coding, technology, and development. โžก Visit our main site: zeba.academy
โžก Explore hands-on courses and resources at: code.zeba.academy
โžก Check out our YouTube for more tutorials: zeba.academy
โžก Follow us on Instagram: zeba.academy


โค๏ธ Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.


โญ Support

If you like this package, consider giving it a โญ on GitHub to support development.


Thank you for visiting! ๐Ÿš€