createOverlayEntries method

  1. @override
Iterable<OverlayEntry> createOverlayEntries()
override

Subclasses should override this getter to return the builders for the overlay.

Implementation

@override
Iterable<OverlayEntry> createOverlayEntries() {
  final entrys = <OverlayEntry>[];
  if (richbar.enableBackgroundInteraction) {
    entrys.add(
      OverlayEntry(
        builder: (BuildContext context) {
          return Listener(
            onPointerDown:
                richbar.isDismissible! ? (_) => richbar.close() : null,
            child: _bgOverlay(),
          );
        },
        maintainState: false,
        opaque: opaque,
      ),
    );
  } else {
    entrys.add(
      OverlayEntry(
        builder: (BuildContext context) {
          final Widget annotatedWidget = Semantics(
            focused: false,
            container: true,
            explicitChildNodes: true,
            child: AlignTransition(
              alignment: _animation!,
              child: richbar.isDismissible!
                  ? dimissible(builder)
                  : Container(margin: richbar.margin, child: builder),
            ),
          );
          return annotatedWidget;
        },
        maintainState: false,
        opaque: opaque,
      ),
    );
  }
  return entrys;
}