hasDrawer method
Whether the Scaffold that most tightly encloses the given context has a drawer.
If this is being used during a build (for example to decide whether to
show an "open drawer" button), set the registerForUpdates
argument to
true. This will then set up an InheritedWidget relationship with the
Scaffold so that the client widget gets rebuilt whenever the hasDrawer
value changes.
See also:
- Scaffold.of, which provides access to the ScaffoldState object as a whole, from which you can show snackbars, bottom sheets, and so forth.
Implementation
static bool hasDrawer(BuildContext context, { bool registerForUpdates = true }) {
assert(registerForUpdates != null);
assert(context != null);
if (registerForUpdates) {
final _ScaffoldScope scaffold = context.inheritFromWidgetOfExactType(_ScaffoldScope);
return scaffold?.hasDrawer ?? false;
} else {
final ScaffoldState scaffold = context.ancestorStateOfType(const TypeMatcher<ScaffoldState>());
return scaffold?.hasDrawer ?? false;
}
}