{"repo":"fzyzcjy/flutter_portal","free":true,"listed":false,"github":"https://github.com/fzyzcjy/flutter_portal","clone":"git clone https://github.com/fzyzcjy/flutter_portal.git","description":"Evolved Overlay/OverlayEntry - declarative not imperative, intuitive-context, and easy-alignment","language":"Dart","stars":597,"topics":["flutter","dart","portal","overlay"],"license":"MIT","category":"mobile-apps","readme_excerpt":"flutter portal: Evolved Overlay / OverlayEntry - declarative not imperative, intuitive-context, and easy-alignment Want to show floating overlays - tooltips, contextual menus, dialogs, bubbles, etc? This library is an enhancement and replacement to Flutter's built-in [Overlay]/[OverlayEntry]. 🚀 Advantages Why using flutter portal instead of built-in [Overlay]/[OverlayEntry]/[OverlayPortal]? Declarative, not imperative : Like everything else in the Flutter world, overlays (portals) are declarative now. Simply put your floating UI in the normal widget tree. Compare: The [OverlayEntry] is not a widget, and is manipulated imperatively using .insert() etc. Alignment, done easily : Built-in support for aligning an overlay next to a UI component. Compare: A custom contextual menu from scratch in a few lines of code; while [Overlay] makes it nontrivial to align the tooltip/menu next to a widget. Customizable alignment logic : For example, ensure the portal target never renders outside the screen ( shiftToWithinBound ), align it to portal instead of parent widget ( alignToPortal ), and you can even create your own align algorithm (extend EnhancedCompositedTransformAnchor ). Compare: [Overlay] does not seem to have this. The intuitive Context : The overlay entry is build with its intuitive parent as its context . Compare The [Overlay] approach uses the far-away overlay as its context . Update: [OverlayPortal], which is inspired by this package, improved and did this well. As a consequ","default_branch":null,"files":null,"tree":[],"storefront":"/r/fzyzcjy","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fzyzcjy/flutter_portal/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}