All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
FlexboxItemAnimationControllerwith auto/manual animation modesFlexboxItemAnimationConfigandwithFlexboxItemAnimationfor staggered entrance transitions in sliver/list buildersFlexboxScaleController.extentListenablefor extent-only UI subscriptionsmaxAspectRatioChecksPerLayoutandaspectRatioCheckIntervaloptions in dynamic flexbox delegates
- Optimized sliver and render flexbox layout paths with delegate/layout caching
- Improved dynamic aspect-ratio probing and relayout behavior for scrolling feeds
- Updated scalable flexbox rebuilding from full controller listening to extent-only listening
- Fixed max-lines behavior and defensive layout math in flexbox delegates
- Updated and expanded test coverage for dynamic, sliver, scale-controller, and item-animation behavior
- Enhanced documentation across all public APIs
- Improved code comments and examples for better clarity
- Comprehensive dart documentation coverage
FlexboxScaleController- Controller for scalable flexbox with pinch-to-zoom support- Responsive scaling that follows pinch gestures in real-time
- Smooth snap animation with spring physics
- Mode switching between 1:1 grid and aspect ratio modes
- Velocity-based momentum for natural gesture continuation
- Configurable snap points, min/max extent, and grid mode threshold
FlexboxScaleModeenum - Display mode for scalable flexbox (grid1x1,aspectRatio)SliverFlexboxDelegateWithDirectExtent- Delegate with direct extent control- Supports smooth continuous scaling without discrete column jumps
- Fill factor interpolation for smooth layout transitions
- Ideal for Google Photos-like pinch-to-zoom experience
SliverScalableFlexbox- Scalable sliver widget with pinch-to-zoom support- Automatically rebuilds when controller's extent changes
- Integrates with CustomScrollView for seamless scrolling
- Pinch-to-zoom gesture support for flexbox layouts
- Spring physics animations for smooth snap transitions
- Fill factor animation for smooth layout state transitions
- Automatic display mode switching based on zoom level
- Double-tap to zoom between predefined levels
- Programmatic zoom control with
zoomIn()andzoomOut()methods - Velocity-based gesture momentum for natural feel
- Added
ScalableFlexboxPagedemonstrating pinch-to-zoom gallery - Network image gallery example with multiple image sources (Nekosia, Yande, Zerochan)
- Initial release of the Flutter Flexbox library
Flexboxwidget - full CSS Flexbox layout implementationFlexItemwidget - wrapper for flex item propertiesFlexboxList- scrollable list with flexbox layout capabilitiesSliverFlexbox- sliver version for CustomScrollViewDynamicFlexboxList- auto-sizing flexbox list for variable contentSliverDynamicFlexbox- dynamic sliver for CustomScrollViewDimensionResolver- utility for measuring child dimensions- Multiple delegate types for different layout scenarios:
SliverFlexboxDelegateWithFixedCrossAxisCountSliverFlexboxDelegateWithMaxCrossAxisExtentSliverFlexboxDelegateWithAspectRatiosSliverFlexboxDelegateWithDynamicAspectRatiosSliverFlexboxDelegateWithFlexValuesSliverFlexboxDelegateWithBuilder
- Full CSS Flexbox layout algorithm implementation
- Support for
flexDirection,flexWrap,justifyContent,alignItems,alignContent - Flex item properties:
order,flexGrow,flexShrink,alignSelf,flexBasisPercent - Size constraints:
minWidth,minHeight,maxWidth,maxHeight wrapBeforeproperty for explicit line breaks- Main axis and cross axis spacing
- Item recycling for efficient scrolling
- Dynamic sizing based on aspect ratios
- Text direction support (LTR/RTL)
- Max lines limitation for wrapped layouts
- Configurable thresholds for layout updates:
aspectRatioChangeThreshold- minimum aspect ratio change to trigger updatecrossAxisExtentChangeThreshold- viewport width change to clear cache
FlexboxListextendsBoxScrollViewfor better framework integration- Comprehensive Dart documentation with examples for all public APIs
- Complete example app with interactive playground
- Demonstrations of all major features
- Network image gallery example