buildModalBarrier method

  1. @override
Widget buildModalBarrier()
override

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:

Implementation

@override
Widget buildModalBarrier() {
  final Widget barrier;
  if (style.barrierFilter != null && !offstage) {
    barrier = Builder(
      builder: (context) => FAnimatedModalBarrier(
        animation: animation!.drive(CurveTween(curve: barrierCurve)),
        filter: style.barrierFilter,
        onDismiss: barrierDismissible ? () => Navigator.pop(context) : null,
        semanticsLabel: barrierLabel,
        // changedInternalState is called if barrierLabel updates
        barrierSemanticsDismissible: semanticsDismissible,
        clipDetailsNotifier: _clipDetailsNotifier,
        semanticsOnTapHint: barrierOnTapHint,
      ),
    );
  } else {
    barrier = Builder(
      builder: (context) => FModalBarrier(
        filter: null,
        onDismiss: barrierDismissible ? () => Navigator.pop(context) : null,
        semanticsLabel: barrierLabel,
        // changedInternalState is called if barrierLabel updates
        barrierSemanticsDismissible: semanticsDismissible,
        clipDetailsNotifier: _clipDetailsNotifier,
        semanticsOnTapHint: barrierOnTapHint,
      ),
    );
  }

  return capturedFTheme?.wrap(barrier) ?? barrier;
}