createOverlayEntries method
Subclasses should override this getter to return the builders for the overlay.
Implementation
@override
Iterable<OverlayEntry> createOverlayEntries() {
List<OverlayEntry> overlays = [];
if (awesomeMessage.overlayBlur! > 0.0) {
overlays.add(
OverlayEntry(
builder: (BuildContext context) {
return GestureDetector(
onTap: awesomeMessage.isDismissible!
? () => awesomeMessage.dismiss()
: null,
child: AnimatedBuilder(
animation: _filterBlurAnimation,
builder: (context, child) {
return BackdropFilter(
filter: ImageFilter.blur(
sigmaX: _filterBlurAnimation.value,
sigmaY: _filterBlurAnimation.value),
child: Container(
constraints: BoxConstraints.expand(),
color: _filterColorAnimation.value,
),
);
},
),
);
},
maintainState: false,
opaque: opaque),
);
}
overlays.add(
OverlayEntry(
builder: (BuildContext context) {
final Widget annotatedChild = Semantics(
child: AlignTransition(
alignment: _animation!,
child: awesomeMessage.isDismissible!
? _getDismissibleAwesomeMessage(_builder!)
: _getAwesomeMessage(),
),
focused: false,
container: true,
explicitChildNodes: true,
);
return theme != null
? Theme(data: theme!, child: annotatedChild)
: annotatedChild;
},
maintainState: false,
opaque: opaque),
);
return overlays;
}