showBottomSheet<T> method

PersistentBottomSheetController<T> showBottomSheet <T>(Widget builder)

Shows a persistent material design bottom sheet in the nearest Scaffold.

Returns a controller that can be used to close and otherwise manipulate the bottom sheet.

To rebuild the bottom sheet (e.g. if it is stateful), call PersistentBottomSheetController.setState on the controller returned by this method.

The new bottom sheet becomes a LocalHistoryEntry for the enclosing ModalRoute and a back button is added to the appbar of the Scaffold that closes the bottom sheet.

To create a persistent bottom sheet that is not a LocalHistoryEntry and does not add a back button to the enclosing Scaffold's appbar, use the Scaffold.bottomSheet constructor parameter.

A persistent bottom sheet shows information that supplements the primary content of the app. A persistent bottom sheet remains visible even when the user interacts with other parts of the app.

A closely related widget is a modal bottom sheet, which is an alternative to a menu or a dialog and prevents the user from interacting with the rest of the app. Modal bottom sheets can be created and displayed with the showModalBottomSheet function.

See also:

Implementation

PersistentBottomSheetController<T> showBottomSheet<T>(WidgetBuilder builder) {
  _closeCurrentBottomSheet();
  final AnimationController controller = BottomSheet.createAnimationController(this)
    ..forward();
  setState(() {
    _currentBottomSheet = _buildBottomSheet<T>(builder, controller, true);
  });
  return _currentBottomSheet;
}