EdgeInsets class

An immutable set of offsets in each of the four cardinal directions.

Typically used for an offset from each of the four sides of a box. For example, the padding inside a box can be represented using this class.

The EdgeInsets class specifies offsets in terms of visual edges, left, top, right, and bottom. These values are not affected by the TextDirection. To support both left-to-right and right-to-left layouts, consider using EdgeInsetsDirectional, which is expressed in terms of start, top, end, and bottom, where start and end are resolved in terms of a TextDirection (typically obtained from the ambient Directionality).

Here are some examples of how to create EdgeInsets instances:

Typical eight-pixel margin on all sides:

link
const EdgeInsets.all(8.0)

Eight pixel margin above and below, no horizontal margins:
link
const EdgeInsets.symmetric(vertical: 8.0)

Left margin indent of 40 pixels:
link
const EdgeInsets.only(left: 40.0)

See also:

Inheritance

Constructors

EdgeInsets.all(double value)
Creates insets where all the offsets are value.
const
EdgeInsets.fromLTRB(double left, double top, double right, double bottom)
Creates insets from offsets from the left, top, right, and bottom.
const
EdgeInsets.fromViewPadding(ViewPadding padding, double devicePixelRatio)
Creates insets that match the given view padding.
EdgeInsets.fromWindowPadding(ViewPadding padding, double devicePixelRatio)
Deprecated. Will be removed in a future version of Flutter.
factory
EdgeInsets.only({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0})
Creates insets with only the given values non-zero.
const
EdgeInsets.symmetric({double vertical = 0.0, double horizontal = 0.0})
Creates insets with symmetrical vertical and horizontal offsets.
const

Properties

bottom double
The offset from the bottom.
final
bottomLeft Offset
An Offset describing the vector from the bottom left of a rectangle to the bottom left of that rectangle inset by this object.
no setter
bottomRight Offset
An Offset describing the vector from the bottom right of a rectangle to the bottom right of that rectangle inset by this object.
no setter
collapsedSize Size
The size that this EdgeInsets would occupy with an empty interior.
no setterinherited
flipped EdgeInsets
An EdgeInsets with top and bottom as well as left and right flipped.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
horizontal double
The total offset in the horizontal direction.
no setterinherited
isNonNegative bool
Whether every dimension is non-negative.
no setterinherited
left double
The offset from the left.
final
The offset from the right.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
top double
The offset from the top.
final
topLeft Offset
An Offset describing the vector from the top left of a rectangle to the top left of that rectangle inset by this object.
no setter
topRight Offset
An Offset describing the vector from the top right of a rectangle to the top right of that rectangle inset by this object.
no setter
vertical double
The total offset in the vertical direction.
no setterinherited

Methods

add(EdgeInsetsGeometry other) EdgeInsetsGeometry
Returns the sum of two EdgeInsetsGeometry objects.
override
along(Axis axis) double
The total offset in the given direction.
inherited
clamp(EdgeInsetsGeometry min, EdgeInsetsGeometry max) EdgeInsetsGeometry
Returns a new EdgeInsetsGeometry object with all values greater than or equal to min, and less than or equal to max.
override
copyWith({double? left, double? top, double? right, double? bottom}) EdgeInsets
Creates a copy of this EdgeInsets but with the given fields replaced with the new values.
deflateRect(Rect rect) Rect
Returns a new rect that is smaller than the given rect in each direction by the amount of inset in each direction. Specifically, the left edge of the rect is moved right by left, the top edge of the rect is moved down by top, the right edge of the rect is moved left by right, and the bottom edge of the rect is moved up by bottom.
deflateSize(Size size) Size
Returns a new size that is smaller than the given size by the amount of inset in the horizontal and vertical directions.
inherited
inflateRect(Rect rect) Rect
Returns a new rect that is bigger than the given rect in each direction by the amount of inset in each direction. Specifically, the left edge of the rect is moved left by left, the top edge of the rect is moved up by top, the right edge of the rect is moved right by right, and the bottom edge of the rect is moved down by bottom.
inflateSize(Size size) Size
Returns a new size that is bigger than the given size by the amount of inset in the horizontal and vertical directions.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolve(TextDirection? direction) EdgeInsets
Convert this instance into an EdgeInsets, which uses literal coordinates (i.e. the left coordinate being explicitly a distance from the left, and the right coordinate being explicitly a distance from the right).
override
subtract(EdgeInsetsGeometry other) EdgeInsetsGeometry
Returns the difference between two EdgeInsetsGeometry objects.
override
toString() String
A string representation of this object.
inherited

Operators

operator %(double other) EdgeInsets
Computes the remainder in each dimension by the given factor.
override
operator *(double other) EdgeInsets
Scales the EdgeInsets in each dimension by the given factor.
override
operator +(EdgeInsets other) EdgeInsets
Returns the sum of two EdgeInsets.
operator -(EdgeInsets other) EdgeInsets
Returns the difference between two EdgeInsets.
operator /(double other) EdgeInsets
Divides the EdgeInsets in each dimension by the given factor.
override
operator ==(Object other) bool
The equality operator.
inherited
operator unary-() EdgeInsets
Returns the EdgeInsets object with each dimension negated.
override
operator ~/(double other) EdgeInsets
Integer divides the EdgeInsets in each dimension by the given factor.
override

Static Methods

lerp(EdgeInsets? a, EdgeInsets? b, double t) EdgeInsets?
Linearly interpolate between two EdgeInsets.
override

Constants

zero → const EdgeInsets
An EdgeInsets with zero offsets in each direction.