flutter_custom_overlay 0.2.1
flutter_custom_overlay: ^0.2.1 copied to clipboard
A Flutter plugin for creating customizable overlay windows on Android with bidirectional data communication and dynamic control.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.1 - 2026-01-13 #
Fixed #
- Updated README documentation to use correct pub.dev dependency syntax.
Added #
- Overlay Alignment: New
OverlayAlignmentenum (center, topLeft, etc.) inOverlayConfigfor easy positioning. - Data Passing:
showOverlay(data: ...)now accepts initial data to be sent immediately to the overlay. - Visibility Check: Added
isOverlayVisible()to check if the overlay window is currently on screen. - Reset on Hide: Added
hideAndRestartOverlay()to hide the window and reset the engine state (optimized with deferred restart). - Transparency Fix: Switched to
FlutterTextureViewto resolve background frame issues, ensuring true transparency.
Changed #
- Breaking:
OverlayConfig.gravity(String) replaced withOverlayConfig.alignment(OverlayAlignment enum). - Breaking: Removed manual
initializeOverlay()andentryPointparameter inshowOverlay. The overlay now auto-initializes using@pragma('vm:entry-point') void overlayMain(). hideOverlay()now preserves the engine state (keeps it running in background). UsehideAndRestartOverlay()for a full reset.
Added #
- Initial release of Flutter Custom Overlay plugin
- Support for custom Flutter overlay windows on Android
- Bidirectional data communication between main app and overlay
- Dynamic position and size control
- Draggable overlay support
- Permission management helpers
- Configurable overlay properties (gravity, focusability, click-through)
- Comprehensive example application
- Full documentation and usage examples
Platform Support #
- Android API 23+ (Android 6.0 Marshmallow and above)
Features #
showOverlay()- Display overlay with custom entry point and configurationhideOverlay()- Hide/remove the overlayupdatePosition()- Dynamically adjust overlay positionupdateSize()- Dynamically adjust overlay sizeshareData()- Send data from main app to overlayoverlayStream- Receive data from overlay in main apphasOverlayPermission()- Check overlay permission statusrequestOverlayPermission()- Request overlay permission from userisOverlayActive()- Check if overlay is currently displayed