diff --git a/lib/container/container_manager.dart b/lib/container/container_manager.dart index 30b1499d16e07295d9c50357de724e5311d7575b..71a96abbabc549515f77c602794cafd4f02288c2 100755 --- a/lib/container/container_manager.dart +++ b/lib/container/container_manager.dart @@ -69,7 +69,6 @@ class ContainerManagerState extends State<BoostContainerManager> { final List<BoostContainer> _offstage = <BoostContainer>[]; List<_ContainerOverlayEntry> _leastEntries; - BoostContainer _onstage; bool _foreground = true; @@ -158,15 +157,20 @@ class ContainerManagerState extends State<BoostContainerManager> { } } - final List<BoostContainer> containers = <BoostContainer>[]; - containers.addAll(_offstage); + final List<Widget> containers = <Widget>[]; + containers.addAll(_offstage.map<Widget>( + (BoostContainer container) => HeroControllerScope( + controller: null, + child: container + ) + )); assert(_onstage != null, 'Should have a least one BoostContainer'); containers.add(_onstage); _leastEntries = containers .map<_ContainerOverlayEntry>( - (BoostContainer container) => _ContainerOverlayEntry(container)) + (Widget container) => _ContainerOverlayEntry(container)) .toList(growable: false); overlayState.insertAll(_leastEntries); @@ -336,7 +340,7 @@ class ContainerManagerState extends State<BoostContainerManager> { } class _ContainerOverlayEntry extends OverlayEntry { - _ContainerOverlayEntry(BoostContainer container) + _ContainerOverlayEntry(Widget container) : super( builder: (BuildContext ctx) => container, opaque: true,