assorted_layout_widgets library

Classes

Box
BoxAnimatingWidth
This widget is meant only to be used for layout demonstrations of other widgets.
Button
Transforms any widget in a button, with visual feedback in the onPointerDown. The widget must be created with a builder of type ButtonBuilder, which provides an isPressed boolean to indicate whether the button is pressed or not.
ButtonBarSuper
CaptureGestures
All touches in the child will be captured and ignored.
CircleButton
Circular button, similar to IconButton, but with the following differences:
ColumnSuper
Given a list of children widgets, this will arrange them in a column. It can overlap cells, add separators and more.
Delayed
This widget can be used with implicitly animated widgets to give it an initial value, and then quickly change it to another.
DetectScroll
The DetectScroll can detect if the content of a Scrollable is larger than the Scrollable itself, which means that the content can be scrolled, and that a scrollbar is likely visible. It can also tell you the probable width of that scrollbar.
FitHorizontally
The child will be asked to define its own intrinsic height. If fitsHeight is true, the child will be proportionately resized (keeping its aspect ratio) to fit the available height.
GlobalStringKey
Global-key that uses equals operator == of the String value to identify the key.
GlobalValueKey<T extends State<StatefulWidget>>
Global-key that uses equals operator == of the keyValue to identify the key.
KeepTallest
Widget KeepTallest tracks its child's height and never visually shrinks its own height below the tallest height observed so far. Growing is always instantaneous.
KeyboardDismiss
Wrap your widget tree with a KeyboardDismiss so that:
MaskFunctionTextInputFormatter
A TextInputFormatter based on the maskFunction formatter, for using in TextFields.
NonUniformOutlineInputBorder
Draws a rounded rectangle around an InputDecorator's container.
NonUniformRoundedRectangleBorder
A rectangular border with rounded corners.
NormalizedOverflowBox
A widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent.
Pad
Pad is an EdgeInsetsGeometry which is easy to type and remember. It can be used in all widgets that accept padding, like Container, Padding and Box.
RenderConstrainedNormalizedOverflowBox
RenderFitHorizontally
RenderRowSpacer
RowSpacer
RowSuper
Given a list of children widgets, this will arrange them in a row. It can overlap cells, add separators and more.
ScrollShadow
A widget that adds shadows to the top and bottom edges of a scrollable area to visually indicate overflow content.
SideBySide
The SideBySide widget arranges its children widgets horizontally, achieving a layout that is not possible with Row or RowSuper widgets.
TextOneLine
TextOneLine is a substitute for Text when maxLines is 1.
ThousandsSeparatorTextInputFormatter
The ThousandsSeparatorTextInputFormatter is a TextInputFormatter that formats numeric input with thousands separators while the user types, and preserves the caret or selection as naturally as possible.
TimeBuilder
Very efficient timer, which rebuilds only when needed:
WrapSuper

Enums

ShadowVisibility
The ShadowVisibility defines the behavior of shadows applied to the top and bottom edges of a scrollable widget, based on the scroll state and content dimensions. This applies independently to the top and bottom edges, allowing different shadow behaviors for each.
WrapFit
WrapSuperAlignment
WrapType

Functions

showCupertinoDialogSuper<T>({required BuildContext context, required WidgetBuilder builder, bool barrierDismissible = true, Color? barrierColor = Colors.black54, String? barrierLabel, bool useSafeArea = true, bool useRootNavigator = true, RouteSettings? routeSettings, void onDismissed(T?)?}) Future<T?>
Displays an iOS-style dialog above the current contents of the app, with iOS-style entrance and exit animations, modal barrier color, and modal barrier behavior (by default, the dialog is not dismissible with a tap on the barrier).
showDialogSuper<T>({required BuildContext context, required WidgetBuilder builder, bool barrierDismissible = true, Color? barrierColor = Colors.black54, String? barrierLabel, bool useSafeArea = true, bool useRootNavigator = true, RouteSettings? routeSettings, void onDismissed(T?)?}) Future<T?>
Displays a Material dialog above the current contents of the app, with Material entrance and exit animations, modal barrier color, and modal barrier behavior (dialog is dismissible with a tap on the barrier).

Typedefs

ButtonBuilder = Widget Function({required bool isPressed})
CircleButtonBuilder = Widget Function({required Widget child, required bool isHover, required bool isPressed})
CountdownWidgetBuilder = Widget Function({required BuildContext context, required int countdown, required DateTime currentTickTime, required DateTime initialTime, required bool isFinished, required int ticks})
IfShouldTickAndRebuild = bool Function({required DateTime currentTime, required DateTime initialTime, required DateTime? lastTickTime, required int ticks})
You should return true if the TimeBuilder should tick and rebuild. Or return false if it should NOT tick nor rebuild.
IsFinished = bool Function({required DateTime currentTime, required DateTime initialTime, required DateTime? lastTickTime, required int ticks})
You should return true to end the ticking. The TimeBuilder generate one last tick/rebuild, and then will stop. Or return false if it is still going on.
MaskFunction = String? Function({required TextEditingValue newValue, required TextEditingValue oldValue})
TimeBuilderBuilder = Widget Function({required BuildContext context, required DateTime currentTickTime, required DateTime initialTime, required bool isFinished, required int ticks})
You should return the widget that should be built.