buildModalBarrier method
Build the barrier for this ModalRoute, subclasses can override this method to create their own barrier with customized features such as color or accessibility focus size.
See also:
- ModalBarrier, which is typically used to build a barrier.
- ModalBottomSheetRoute, which overrides this method to build a customized barrier.
Implementation
@override
Widget buildModalBarrier() {
void onDismiss() => unawaited(_dismiss());
final color = barrierColor;
if (color == null || color.a == 0 || offstage) {
return ModalBarrier(
dismissible: barrierDismissible,
semanticsLabel: barrierLabel,
barrierSemanticsDismissible: semanticsDismissible,
onDismiss: onDismiss,
);
}
return AnimatedModalBarrier(
color: animation!.drive(
ColorTween(begin: color.withValues(alpha: 0), end: color),
),
dismissible: barrierDismissible,
semanticsLabel: barrierLabel,
barrierSemanticsDismissible: semanticsDismissible,
onDismiss: onDismiss,
);
}