ShadResizablePanelGroup class
A widget that provides a group of resizable panels, allowing users to adjust the size of each panel dynamically.
The ShadResizablePanelGroup manages multiple ShadResizablePanel widgets and provides functionality to resize them by dragging dividers between them. It supports both horizontal and vertical arrangements of panels, and allows customization of the appearance and behavior of the dividers and handles.
This widget is useful for creating flexible layouts where users can adjust the size of different sections of the UI according to their preferences.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ShadResizablePanelGroup
- Available extensions
Constructors
-
ShadResizablePanelGroup({Key? key, required List<
ShadResizablePanel> children, Axis axis = Axis.horizontal, MainAxisAlignment? mainAxisAlignment, CrossAxisAlignment? crossAxisAlignment, MainAxisSize? mainAxisSize, TextDirection? textDirection, VerticalDirection? verticalDirection, ShadResizableController? controller, bool? showHandle, IconData? handleIconData, Widget? handleIcon, double? dividerSize, double? dividerThickness, VoidCallback? onDividerDoubleTap, bool? resetOnDoubleTap, Color? dividerColor, ShadDecoration? handleDecoration, EdgeInsetsGeometry? handlePadding, double? handleSize}) -
A widget that provides a group of resizable panels, allowing users to
adjust the size of each panel dynamically.
const
Properties
- axis → Axis
-
The axis along which the panels are arranged.
Can be either Axis.horizontal or Axis.vertical.
final
-
children
→ List<
ShadResizablePanel> -
The list of resizable panels to be displayed in the group.
Each panel must be a ShadResizablePanel.
final
- controller → ShadResizableController?
-
The controller that manages the resizable panels.
If not provided, a new controller will be created.
final
- crossAxisAlignment → CrossAxisAlignment?
-
The alignment of the panels along the cross axis.
final
- dividerColor → Color?
-
The color of the divider between panels.
final
- dividerSize → double?
-
The size of the divider between panels.
final
- dividerThickness → double?
-
The thickness of the divider between panels.
final
- handleDecoration → ShadDecoration?
-
Custom decoration for the resize handle.
final
- handleIcon → Widget?
-
A custom widget to use as the resize handle.
If provided, this will be displayed instead of the default icon.
final
- handleIconData → IconData?
-
The icon data for the resize handle.
final
- handlePadding → EdgeInsetsGeometry?
-
Padding around the resize handle.
final
- handleSize → double?
-
The size of the resize handle icon.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- mainAxisAlignment → MainAxisAlignment?
-
The alignment of the panels along the main axis.
final
- mainAxisSize → MainAxisSize?
-
The size of the main axis for the panels.
final
- onDividerDoubleTap → VoidCallback?
-
Callback function that is triggered when the divider is double-tapped.
final
- resetOnDoubleTap → bool?
-
Whether to reset the panel sizes on double-tap of the divider.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- showHandle → bool?
-
Whether to show the resize handle between panels.
final
- textDirection → TextDirection?
-
The text direction for the panels' content.
Can be set to TextDirection.ltr or TextDirection.rtl.
final
- verticalDirection → VerticalDirection?
-
The vertical direction for the panels' layout.
Can be set to VerticalDirection.down or VerticalDirection.up.
final
Methods
-
animate(
{Key? key, List< Effect> ? effects, AnimateCallback? onInit, AnimateCallback? onPlay, AnimateCallback? onComplete, bool? autoPlay, Duration? delay, AnimationController? controller, Adapter? adapter, double? target, double? value}) → Animate -
Available on Widget, provided by the AnimateWidgetExtensions extension
Wraps the target Widget in an Animate instance, and returns the instance for chaining calls. Ex.myWidget.animate()is equivalent toAnimate(child: myWidget). -
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → ShadResizablePanelGroupState -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
positionedWith(
ShadPosition position) → Widget -
Available on Widget, provided by the PositionedExt extension
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited