Skip to content

Instantly share code, notes, and snippets.

@tech-andgar
Forked from jezell/auto_overlay_portal.dart
Created September 4, 2024 16:41
Show Gist options
  • Select an option

  • Save tech-andgar/223e128108966707ac426a4d01b55f69 to your computer and use it in GitHub Desktop.

Select an option

Save tech-andgar/223e128108966707ac426a4d01b55f69 to your computer and use it in GitHub Desktop.
Auto Overlay Portal
import "package:flutter/material.dart";
class AutoOverlayPortal extends StatefulWidget {
const AutoOverlayPortal(
{super.key, required this.overlayChildBuilder, this.child});
final Widget Function(BuildContext) overlayChildBuilder;
final Widget? child;
@override
State createState() => _AutoOverlayPortalState();
}
class _AutoOverlayPortalState extends State<AutoOverlayPortal> {
late OverlayPortalController controller;
@override
void initState() {
super.initState();
controller = OverlayPortalController();
controller.show();
}
@override
void dispose() {
super.dispose();
if (controller.isShowing) {
controller.hide();
}
}
@override
Widget build(BuildContext context) {
return OverlayPortal(
controller: controller,
overlayChildBuilder: widget.overlayChildBuilder,
child: widget.child);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment