SliverSafeArea class

A sliver that insets another sliver by sufficient padding to avoid intrusions by the operating system.

For example, this will indent the sliver by enough to avoid the status bar at the top of the screen.

It will also indent the sliver by the amount necessary to avoid The Notch on the iPhone X, or other similar creative physical features of the display.

When a minimum padding is specified, the greater of the minimum padding or the safe area padding will be applied.

See also:

  • SafeArea, for insetting widgets to avoid operating system intrusions.
  • SliverPadding, for insetting slivers in general.
  • MediaQuery, from which the window padding is obtained.
  • dart:ui.Window.padding, which reports the padding from the operating system.


SliverSafeArea({Key key, bool left: true, bool top: true, bool right: true, bool bottom: true, EdgeInsets minimum:, @required Widget sliver })
Creates a sliver that avoids operating system interfaces. [...]


bottom → bool
Whether to avoid system intrusions on the bottom side of the screen.
left → bool
Whether to avoid system intrusions on the left.
minimum EdgeInsets
This minimum padding to apply. [...]
Whether to avoid system intrusions on the right.
sliver Widget
The sliver below this sliver in the tree. [...]
top → bool
Whether to avoid system intrusions at the top of the screen, typically the system status bar.
hashCode → int
The hash code for this object. [...]
read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited


build(BuildContext context) Widget
Describes the part of the user interface represented by this widget. [...]
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree. [...]
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by toStringDeep. [...]
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String
Returns a string representation of this object.
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String
Returns a string representation of this node and its descendants. [...]
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String
Returns a one-line detailed description of the object. [...]
toStringShort() → String
A short, textual description of this widget.


operator ==(dynamic other) → bool
The equality operator. [...]