barrierDismissible property Null safety
Whether you can dismiss this route by tapping the modal barrier.
The modal barrier is the scrim that is rendered behind each route, which generally prevents the user from interacting with the route below the current route, and normally partially obscures such routes.
For example, when a dialog is on the screen, the page below the dialog is usually darkened by the modal barrier.
If barrierDismissible is true, then tapping this barrier, pressing the escape key on the keyboard, or calling route popping functions such as Navigator.pop will cause the current route to be popped with null as the value.
If barrierDismissible is false, then tapping the barrier has no effect.
It is safe to use
navigator.context to look up inherited
widgets here, because the Navigator calls
changedExternalState whenever its dependencies change, and
changedExternalState causes the modal barrier to rebuild.
@override bool get barrierDismissible => _barrierDismissible ?? true;