PackageTrack
Sign in Get early access

flutter_resizable_container

Add nestable, resizable containers to your Flutter app with ease.

4.2.0 6.1K downloads/mo #3582 most downloaded on pub.dev andyhorn/flutter_resizable_container

What this package is like to depend on

Last release 1 years ago

10 May 2025

Ships unpredictably

gaps range from 2 weeks to 13 months

Nearly every release is documented

notes for 24 of 24 stable releases

1 version withdrawn

withdrawn after publishing

4 years old

32 releases · first in 2023

0 releases in the last 12 months

see the full history below

Release timeline

32 releases · Jan 2023 to May 2025
2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 32
  1. 4.2.0 10 May 2025
    Release notes
    • Added cascadeNegativeDelta flag to cascade changes through children that have reached their lower bound.
    • Added onDragStart and onDragEnd callbacks to the ResizableDivider.
    • Added a key parameter to the ResizableChild to pass to the child Widget's wrapper.
    • Bump FVM Flutter and dependency versions.
    Open source →
  2. 4.1.0 11 Apr 2025
    Release notes
    • Improved change detection in the container to enable more accurate rebuilds when children change.
    Open source →
  3. 4.0.1 26 Feb 2025
    Release notes
    • Fixed a bug causing a custom divider with interactions to break resizing.
    Open source →
  4. 4.0.0 25 Dec 2024
    Release notes

    Stable release of v4 with all changes of prior beta releases.

    Open source →
  5. 4.0.0-beta.4 25 Dec 2024 pre-release
    Release notes
    • Account for expand sizes with min/max bounds
    • Prevent the controller from notifying its listeners during layout/init
    • Make ResizableSize subclasses' constructor's private
    • Improve doc comments
    Open source →
  6. 4.0.0-beta.3 21 Dec 2024 pre-release
    Release notes
    • Move the min/max bounds out of the ResizableChild and into the ResizableSize
    • Remove the divider property of the ResizableContainer and add it into the ResizableChild
    • Add a cursor property to the ResizableDivider to display a custom MouseCursor when hovering over the divider
    Open source →
  7. 4.0.0-beta.2 19 Dec 2024 pre-release
    Release notes
    • Add a ResizableLayout widget that uses a custom RenderObject to handle the initial layout and the layout after any properties on the ResizableContainer are updated.
    Open source →
  8. 4.0.0-beta.1 30 Nov 2024 pre-release
    Release notes
    • Rewrite the Controller/Container logic to allow Flutter to handle the initial layout of all widgets, updating the rendered sizes in the controller after the first frame. This shouldn't have any major impact to the API, but it does introduce the use of Timers, which could affect tests.
    • Rename ResizableController.sizes to ResizableController.pixels to more clearly indicate its value.
    • Store, expose, and utilize the current list of ResizableSize values in the controller. This enables the values to be used even after manually updating them.
    Open source →
  9. 3.0.4 19 Dec 2024
    Release notes
    • Fix a bug/add support for RTL Directionality.
    Open source →
  10. 3.0.3 30 Nov 2024
    Release notes
    • Reinstate the removed ResizableControllerManager#setChildren method. This method was removed because the method it targets on the controller was made public. However, the package version was incorrectly bumped since this could be a breaking change. This patch reinstates the method, fixing the breaking change, but adds a deprecation warning in favor of the public controller method.
    Open source →
  11. 3.0.2 29 Nov 2024
    Release notes
    • Make the "setChildren" method of the ResizableContainer public to address a limitation that was causing the "children length equals sizes length" assertions to fail (#61).
    Open source →
  12. 3.0.1 29 Nov 2024
    Release notes
    • Fix a bug causing negative values in a BoxConstraint, which was throwing an AssertionError (#60).
    Open source →
  13. 3.0.0 12 Sep 2024
    Release notes

    After much feedback, I revised the ResizableContainerDivider to be even more customizable. The changes include:

    1. Replace the size, indent, and endIndent properties with a length property, of type ResizableSize, to control how long the dividing line is
    2. Add crossAxisAlignment and mainAxisAlignment properties to control where the line sits in its available space (if the line does not take up its full length and/or has padding, see below).
    3. Add a padding property to add empty space along the main axis - the divider sits within, or alongside, this empty space
    Open source →
  14. 2.0.0 24 May 2024
    Release notes

    New major version! See the beta notes below.

    Open source →
  15. 2.0.0+beta.1 10 May 2024 withdrawn

    Nothing published for this version

  16. 2.0.0-beta.3 23 May 2024 pre-release
    Release notes
    • Add a ResizableSize.expand constructor that takes a flex integer (defaults to 1)
    • Remove the optionality of the size parameter in ResizableChild and use a default ResizableSize.expand() value
    • Adjust the controller to disallow null values for ResizableSize arguments
    • Adjust the controller to prioritize modifying ResizableSize.expand children when scaling the window (up or down) over the pixel and ratio children, unless no expand children are set
    Open source →
  17. 2.0.0-beta.2 21 May 2024 pre-release
    Release notes
    • Added a new ResizableSize class that defines a "size" in pixels or as a ratio
    • Changed the startingRatio in the ResizableChild to startingSize that takes an optional ResizableSize
      • This change allows the starting size of a child to be defined as an absolute value (in logical pixels) or as a ratio of the available space
      • If there is a mixture of pixels and ratio sizes, the pixel sizes will be given priority and then the ratio sizes will be given the remaining available space
    • Added a setSizes method to the ResizableController that takes a list of optional ResizableSizes. These sizes will be applied to the current children following the same rules as noted above
    • Removed the ratios setter in favor of the new setSizes method
    • Made the controller an optional param in the ResizableContainer ctor
    Open source →
  18. 2.0.0-beta.1 10 May 2024 pre-release
    Release notes
    • Renamed ResizableChildData to ResizableChild
    • Added an expand flag to the ResizableChild ctor
      • If there is a startingRatio set and this flag is true, the child will automatically expand to fill any remaining available space. If this flag is false, the child will only expand to meet its startingRatio constraint
      • If the startingRatio is null, the child will automatically expand to fill any remaining available space, regardless of whether or not this flag is set
    • Move the list of ResizableChild objects out of the ResizableController and back into the ResizableContainer as the children parameter
      • This allows the list of children to be modified on-the-fly without recreating a ResizableController
    Open source →
  19. 1.0.0 09 May 2024
    Release notes

    First stable version!

    • Encapsulation of divider configuration in a new ResizableDivider class
      • Divider thickness and size properties, mirroring the Flutter Divider's thickness and width properties, have been added
      • onHoverEnter and onHoverExit callbacks allow you to react to the user's interactions with the divider
    • All size tracking and calculations have been moved out of the ResizableContainer widget and into the ResizableController
      • This fixed several bugs and improves performance by converting the ResizableContainer to a StatelessWidget (from stateful)
    • ResizableContainer now requires a List<Widget> as its children property, as the List<ResizableChildData> have been moved into the ResizableController
    • Added and improved tests
    • Added a GH workflow to deploy the example app to GH Pages
    Open source →
  20. 0.4.2 05 May 2024
    Release notes
    • Fixes an issue with the didUpdateWidget lifecycle hook causing errors to be thrown during hot-reloads
    Open source →
  21. 0.4.1 22 Feb 2024
    Release notes
    • Add tests for ResizableController
    • Add tests for ResizableContainer
    • Add GitHub Actions workflow
    Open source →
  22. 0.4.0 21 Feb 2024
    Release notes
    • Add ResizableController to allow programmatic control of resizable children
    • Fix a bug causing adjacent containers to grow in size when the target container reaches is minimum size
    Open source →
  23. 0.3.0 07 Feb 2024
    Release notes
    • Make divider color and width customizable
    Open source →
  24. 0.2.1 02 Feb 2024
    Release notes
    • Fix package description to improve pub.dev score
    Open source →
  25. 0.2.0 02 Feb 2024
    Release notes
    • Update the Dart SDK constraints to >=3.0.0 <4.0.0
    Open source →
  26. 0.1.2 21 Jan 2023
    Release notes
    • Remove commented code from the example project
    Open source →
  27. 0.1.1 21 Jan 2023
    Release notes
    • Improve documentation and comments
    Open source →
  28. 0.1.0 20 Jan 2023
    Release notes
    • Rework dividers to lie in-line with child widgets, taking up space along the primary axis, instead of being placed in a stack and positioned according to the child sizes
    • Add a custom divider who's width is known and can be controlled to ease calculating the available space for child widgets
    • Remove the optionality of the divider - this widget is now required to be visible, as hiding it would disable the resize functionality
    Open source →
  29. 0.0.4 19 Jan 2023
    Release notes
    • Add optional divider line
    • Fix a bug allowing child sizes to grow beyond available space
    • Improve example with switchable direction and toggle-able divider
    Open source →
  30. 0.0.3 18 Jan 2023
    Release notes
    • Add example to README
    • Add example project
    • Fix a bug allowing negative child sizes
    Open source →
  31. 0.0.2 18 Jan 2023
    Release notes
    • Fix a typo in the README
    Open source →
  32. 0.0.1 18 Jan 2023
    Release notes

    Initial Release

    • Container resizes and enforces child size constraints (if present)
    • Resize cursor responds to user clicks and drags on web
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive