BoxAlignmentSpacing class
Spacing-based box alignment for distributing items with gaps.
BoxAlignmentSpacing controls how items are distributed within a container by specifying spacing ratios at the start and end. This enables layouts like space-between, space-around, and space-evenly.
The aroundStart and aroundEnd values determine how much space is added before the first item and after the last item relative to the space between items. For example, space-around uses 0.5 for both, while space-evenly uses 1.0.
See also:
- BoxAlignment, for fixed position alignment
- BoxAlignmentDirectional, for text-direction-aware alignment
- Inheritance
-
- Object
- BoxAlignmentGeometry
- BoxAlignmentContent
- BoxAlignmentBase
- BoxAlignmentSpacing
Constructors
- BoxAlignmentSpacing(double aroundStart, double aroundEnd)
-
Creates an even spacing alignment with custom start and end ratios.
const
- BoxAlignmentSpacing.around()
-
Creates space-around alignment: equal space around each item.
const
- BoxAlignmentSpacing.aroundSymmetric(double ratio)
-
Creates symmetric space-around with a custom ratio.
const
- BoxAlignmentSpacing.between()
-
Creates space-between alignment: equal space between items, no space at edges.
const
- BoxAlignmentSpacing.even()
-
Creates space-evenly alignment: equal space between and around all items.
const
Properties
- aroundEnd → double
-
The spacing ratio at the end (after last item).
final
- aroundStart → double
-
The spacing ratio at the start (before first item).
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
adjustSize(
{required ParentLayout parent, required LayoutAxis axis, required double viewportSize, required double contentSize, required double childSize}) → double? -
Optionally adjusts the size of the child during alignment.
inherited
-
adjustSpacing(
{required ParentLayout parent, required LayoutAxis axis, required double viewportSize, required double contentSize, required double startSpacing, required double spacing, required double endSpacing, required int affectedCount}) → ({double additionalEndSpacing, double additionalSpacing, double additionalStartSpacing})? -
Calculates additional spacing to distribute remaining space evenly.
override
-
align(
{required ParentLayout parent, required LayoutAxis axis, required double viewportSize, required double contentSize, required double maxBaseline, required double childBaseline}) → double -
Even spacing alignments position items at their natural positions (offset 0).
The spacing adjustments are handled by adjustSpacing.
override
-
needsBaseline(
{required ParentLayout parent, required LayoutAxis axis}) → bool -
This alignment never requires baseline information since it doesn't support baseline alignment.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override