MasterDetailsFlow class

A widgets that builds an adaptive M3 master <-> details flow. To start just create a scaffold with it't only child being the MasterDetailsFlow.

Inheritance

Constructors

MasterDetailsFlow({required List<MasterItemBase> items, List<Widget>? actions, bool autoImplyLeading = true, int breakpoint = 700, int? initialPage, double lateralMasterPanelWidth = 300.0, double detailsPanelCornersRadius = 12.0, ListTileThemeData? lateralListTileTheme, Widget? title, Widget? nothingSelectedWidget, DetailsAppBarSize lateralDetailsAppBar = DetailsAppBarSize.medium, DetailsAppBarSize pageDetailsAppBar = DetailsAppBarSize.large, DetailsAppBarSize masterAppBar = DetailsAppBarSize.small, Duration transitionAnimationDuration = const Duration(milliseconds: 500), Key? key})
Creates the flow
const

Properties

actions List<Widget>?
A list of Widgets to display in a row after the title widget.
final
autoImplyLeading bool
Controls whether we should try to imply the leading widget if null.
final
breakpoint int
If the screen width is larger than breakpoint it moves to lateral view, otherwise is in page mode.
final
detailsPanelCornersRadius double
The corners radius of the details panel
final
hashCode int
The hash code for this object.
no setterinherited
initialPage int?
An optional integer to specify if the masterFlow should start with a selected page.
final
items List<MasterItemBase>
The required list of items.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
lateralDetailsAppBar DetailsAppBarSize
Selects the app bar style used when details page is in lateral view.
final
lateralListTileTheme ListTileThemeData?
The theme used by the selectable tiles on the lateral panel
final
lateralMasterPanelWidth double
The width of the lateral panel that hold the tiles.
final
masterAppBar DetailsAppBarSize
Selects the app bar style used when the master list is in page view.
final
nothingSelectedWidget Widget?
A widget to be showed in case there is no master selected. If not provided there will be used a simple text mentioning that no item is selected.
final
pageDetailsAppBar DetailsAppBarSize
Selects the app bar style used when details page is in page view.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
title Widget?
The option title to be showed on the master app bar.
final
transitionAnimationDuration Duration
The default transition animation duration
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<MasterDetailsFlow>
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
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}) 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