Flutter widgets implementing Material Design.

To use, import package:flutter/material.dart.

See material.google.com for an introduction to Material Design.

Constants

kAlwaysCompleteAnimation Animation<double>

An animation that is always complete.

const _AlwaysCompleteAnimation<double>()
kAlwaysDismissedAnimation Animation<double>

An animation that is always dismissed.

const _AlwaysDismissedAnimation<double>()
kBottomNavigationBarHeight double

The height of the bottom navigation bar.

60.0
kElevationToShadow Map<int, List<BoxShadow>>

Map of elevation offsets used by material design to BoxShadow definitions.

_elevationToShadow
kRadialReactionAlpha int

The value of the alpha channel to use when drawing a circular material ink response.

0x33
kRadialReactionDuration Duration

The amount of time a circular material ink response should take to expand to its full size.

const Duration(milliseconds: 200)
kRadialReactionRadius double

The radius of a circular material ink response in logical pixels.

24.0
kTextTabBarHeight double

The height of a tab bar containing text.

48.0
kThemeAnimationDuration Duration

The duration over which theme changes animate by default.

const Duration(milliseconds: 200)
kThemeChangeDuration Duration

The amount of time theme change animations should last.

const Duration(milliseconds: 200)
kToolbarHeight double

The height of the toolbar component of the AppBar.

56.0

Typedefs

AnimationStatusListener(AnimationStatus status) → void

Signature for listeners attached using Animation.addStatusListener.

CreateRectTween(Rect begin, Rect end) RectTween

Signature for a function that takes two Rect instances and returns a RectTween that transitions between them.

DataColumnSortCallback(int columnIndex, bool ascending) → void

Signature for DataColumn.onSort callback.

DismissDirectionCallback(DismissDirection direction) → void

Signature used by Dismissable to indicate that it has been dismissed in the given direction.

DraggableCanceledCallback(Velocity velocity, Offset offset) → void

Signature for when a Draggable is dropped without being accepted by a DragTarget.

DragTargetAccept(T data) → void

Signature for causing a DragTarget to accept the given data.

DragTargetBuilder(BuildContext context, List<T> candidateData, List rejectedData) Widget

Signature for building children of a DragTarget.

DragTargetWillAccept(T data) bool

Signature for determining whether the given data will be accepted by a DragTarget.

ElementVisitor(Element element) → void

Signature for the callback to BuildContext.visitChildElements.

ExpansionPanelCallback(int panelIndex, bool isExpanded) → void

Signature for the callback that's called when an ExpansionPanel is expanded or collapsed.

ExpansionPanelHeaderBuilder(BuildContext context, bool isExpanded) Widget

Signature for the callback that's called when the header of the ExpansionPanel needs to rebuild.

ExtentsChangedCallback(double contentExtent, double containerExtent) → void

Signature for reporting the interior and exterior dimensions of a viewport.

FormFieldBuilder(FormFieldState<T> field) Widget

Signature for building the widget representing the form field.

FormFieldSetter(T newValue) → void

Signature for being notified when a form field changes value.

FormFieldValidator(T value) String

Signature for validating a form field.

GestureDragCancelCallback() → void

Signature for when the pointer that previously triggered a GestureDragDownCallback did not complete.

GestureDragDownCallback(DragDownDetails details) → void

Signature for when a pointer has contacted the screen and might begin to move.

GestureDragEndCallback(DragEndDetails details) → void

Signature for when a pointer that was previously in contact with the screen and moving is no longer in contact with the screen.

GestureDragStartCallback(DragStartDetails details) → void

Signature for when a pointer has contacted the screen and has begun to move.

GestureDragUpdateCallback(DragUpdateDetails details) → void

Signature for when a pointer that is in contact with the screen and moving has moved again.

GestureLongPressCallback() → void

Signature for when a pointer has remained in contact with the screen at the same location for a long period of time.

GestureRecognizerFactory(GestureRecognizer recognizer) GestureRecognizer

Signature for creating gesture recognizers.

GestureScaleEndCallback(ScaleEndDetails details) → void

Signature for when the pointers are no longer in contact with the screen.

GestureScaleStartCallback(ScaleStartDetails details) → void

Signature for when the pointers in contact with the screen have established a focal point and initial scale of 1.0.

GestureScaleUpdateCallback(ScaleUpdateDetails details) → void

Signature for when the pointers in contact with the screen have indicated a new focal point and/or scale.

GestureTapCallback() → void

Signature for when a tap has occurred.

GestureTapCancelCallback() → void

Signature for when the pointer that previously triggered a GestureTapDownCallback will not end up causing a tap.

GestureTapDownCallback(TapDownDetails details) → void

Signature for when a pointer that might cause a tap has contacted the screen.

GestureTapUpCallback(TapUpDetails details) → void

Signature for when a pointer that will trigger a tap has stopped contacting the screen.

GlobalKeyRemoveListener(GlobalKey key) → void

Signature for a callback when a global key is removed from the tree.

IndexedWidgetBuilder(BuildContext context, int index) Widget

Signature for a function that creates a widget for a given index, e.g., in a list.

ItemListBuilder(BuildContext context, int start, int count) List<Widget>

Signature of a callback that returns the sublist of widgets in the given range.

LayoutWidgetBuilder(BuildContext context, BoxConstraints constraints) Widget

The signature of the LayoutBuilder builder function.

LazyBlockExtentsChangedCallback(int firstIndex, int lastIndex, double firstStartOffset, double lastEndOffset, double minScrollOffset, double containerExtent) → void

Signature used by LazyBlockViewport to report its interior and exterior dimensions.

LocaleChangedCallback(Locale locale) Future<LocaleQueryData>

Signature for a function that is called when the operating system changes the current locale.

NotificationListenerCallback(T notification) bool

Signature for Notification listeners.

OrientationWidgetBuilder(BuildContext context, Orientation orientation) Widget

Signature for a function that builds a widget given an Orientation.

PointerCancelEventListener(PointerCancelEvent event) → void

Signature for listening to PointerCancelEvent events.

PointerDownEventListener(PointerDownEvent event) → void

Signature for listening to PointerDownEvent events.

PointerMoveEventListener(PointerMoveEvent event) → void

Signature for listening to PointerMoveEvent events.

PointerUpEventListener(PointerUpEvent event) → void

Signature for listening to PointerUpEvent events.

PopupMenuItemBuilder(BuildContext context) List<PopupMenuEntry<T>>

Signature used by PopupMenuButton to lazily construct the items shown when the button is pressed.

PopupMenuItemSelected(T value) → void

Signature for the callback invoked when a menu item is selected. The argument is the value of the PopupMenuItem that caused its menu to be dismissed.

RectCallback() Rect

Signature for the callback used by ink effects to obtain the rectangle for the effect.

RefreshCallback() Future<Null>

The signature for a function that's called when the user has dragged a RefreshIndicator far enough to demonstrate that they want the app to refresh. The returned Future must complete when the refresh operation is finished.

RouteFactory(RouteSettings settings) Route

Creates a route for the given route settings.

RoutePredicate(Route route) bool

Signature for the Navigator.popUntil predicate argument.

ScrollBuilder(BuildContext context, ScrollableState state) Widget

Signature for building a widget based on ScrollableState.

ScrollListener(double scrollOffset) → void

Signature for callbacks that receive a scroll offset.

ShaderCallback(Rect bounds) Shader

Signature for a function that creates a Shader for a given Rect.

SnapOffsetCallback(double scrollOffset, Size containerSize) double

Signature for determining the offset at which scrolling should snap.

StatefulWidgetBuilder(BuildContext context, StateSetter setState) Widget

Signature for the builder callback used by StatefulBuilder.

StateSetter(VoidCallback fn) → void

The signature of State.setState functions.

TabLabelIconBuilder(BuildContext context, Color color) Widget

Signature for building icons for TabLabels.

TextSelectionOverlayChanged(InputValue value, Rect caretRect) → void

Signature for reporting changes to the selection component of an InputValue for the purposes of a TextSelectionOverlay. The caretRect argument gives the location of the caret in the coordinate space of the RenderBox given by the TextSelectionOverlay.renderObject.

TotalExtentEstimator(int firstIndex, int lastIndex, double minOffset, double firstStartOffset, double lastEndOffset) double

Signature for callbacks that estimate the total height of a LazyBlock's contents.

TransitionBuilder(BuildContext context, Widget child) Widget

A builder that builds a widget given a child.

TweenConstructor(T targetValue) Tween<T>

Signature for a Tween factory.

TweenVisitor(Tween<T> tween, T targetValue, TweenConstructor<T> constructor) Tween<T>

Signature for callbacks passed to AnimatedWidgetBaseState.forEachTween.

ValueChanged(T value) → void

Signature for callbacks that report that an underlying value has changed.

ValueGetter() → T

Signature for callbacks that are to report a value on demand.

ValueSetter(T value) → void

Signature for callbacks that report that a value has been set.

ViewportDimensionsChangeCallback(ViewportDimensions dimensions) Offset

Signature for notifications about RenderViewport dimensions changing.

VoidCallback() → void

Signature of callbacks that have no arguments and return no data.

WidgetBuilder(BuildContext context) Widget

Signature for a function that creates a widget, e.g. StatelessWidget.build or State.build.

Properties

debugPrint DebugPrintCallback

Prints a message to the console, which you can access using the "flutter" tool's "logs" command ("flutter logs").

read / write
debugPrintBuildScope bool

Log all calls to BuildOwner.buildScope.

read / write
debugPrintGlobalKeyedWidgetLifecycle bool

Log when widgets with global keys are deactivated and log when they are reactivated (retaken).

read / write
debugPrintRebuildDirtyWidgets bool

Log the dirty widgets that are built each frame.

read / write
debugPrintScheduleBuildForStacks bool

Log the call stacks that mark widgets as needing to be rebuilt.

read / write
debugProfileBuildsEnabled bool

Adds Timeline events for every Widget built.

read / write
kDefaultSpringForce SpringForce

A spring force with reasonable default values.

read-only
kListItemExtent Map<MaterialListType, double>

The vertical extent of the different types of material list items.

read / write
kMaterialEdges Map<MaterialType, BorderRadius>

The border radii used by the various kinds of material in material design.

read-only
kPixelScrollTolerance Tolerance

The accuracy to which scrolling is computed.

read-only

Functions

applyImageFit(ImageFit fit, Size inputSize, Size outputSize) FittedSizes

Apply an ImageFit value.

createLocalImageConfiguration(BuildContext context, { Size size }) ImageConfiguration

Creates an ImageConfiguration based on the given BuildContext (and optionally size).

debugAssertAllWidgetVarsUnset(String reason) bool

Returns true if none of the widget library debug variables have been changed.

debugCheckHasMaterial(BuildContext context) bool

Asserts that the given context has a Material ancestor.

debugCheckHasScaffold(BuildContext context) bool

Asserts that the given context has a Scaffold ancestor.

debugCheckHasTable(BuildContext context) bool

Asserts that the given context has a Table ancestor.

debugChildrenHaveDuplicateKeys(Widget parent, Iterable<Widget> children) bool

Asserts if the given child list contains any duplicate non-null keys.

debugDumpApp() → void

Print a string representation of the currently running app.

debugItemsHaveDuplicateKeys(Iterable<Widget> items) bool

Asserts if the given list of items contains any duplicate non-null keys.

debugWidgetBuilderValue(Widget widget, Widget built) → void

Asserts that the built widget is not null.

hashList(Iterable<Object> args) int

Combine the hashCodes of an arbitrary number of values from an Iterable into one value. This function will return the same value if given "null" as if given an empty list.

hashValues(Object arg01, Object arg02, [ Object arg03 = _hashEnd, Object arg04 = _hashEnd, Object arg05 = _hashEnd, Object arg06 = _hashEnd, Object arg07 = _hashEnd, Object arg08 = _hashEnd, Object arg09 = _hashEnd, Object arg10 = _hashEnd, Object arg11 = _hashEnd, Object arg12 = _hashEnd, Object arg13 = _hashEnd, Object arg14 = _hashEnd, Object arg15 = _hashEnd, Object arg16 = _hashEnd, Object arg17 = _hashEnd, Object arg18 = _hashEnd, Object arg19 = _hashEnd, Object arg20 = _hashEnd ]) int

Combine up to twenty values' hashCodes into one value.

paintImage({Canvas canvas, Rect rect, Image image, ColorFilter colorFilter, ImageFit fit, ImageRepeat repeat: ImageRepeat.noRepeat, Rect centerSlice, FractionalOffset alignment }) → void

Paints an image into the given rectangle in the canvas.

runApp(Widget app) → void

Inflate the given widget and attach it to the screen.

showAboutDialog({BuildContext context, String applicationName, String applicationVersion, Widget applicationIcon, String applicationLegalese, List<Widget> children }) → void

Displays an AboutDialog, which describes the application and provides a button to show licenses for software used by the application.

showDatePicker({BuildContext context, DateTime initialDate, DateTime firstDate, DateTime lastDate }) Future<DateTime>

Shows a dialog containing a material design date picker.

showDialog({BuildContext context, Widget child }) Future

Displays a dialog above the current contents of the app.

showLicensePage({BuildContext context, String applicationName, String applicationVersion, Widget applicationIcon, String applicationLegalese }) → void

Displays a LicensePage, which shows licenses for software used by the application.

showMenu({BuildContext context, RelativeRect position, List<PopupMenuEntry> items, initialValue, int elevation: 8 }) Future

Show a popup menu that contains the items at position. If initialValue is specified then the first item with a matching value will be highlighted and the value of position implies where the left, center point of the highlighted item should appear. If initialValue is not specified then position specifies the menu's origin.

showModalBottomSheet({BuildContext context, WidgetBuilder builder }) Future

Shows a modal material design bottom sheet.

showTimePicker({BuildContext context, TimeOfDay initialTime }) Future<TimeOfDay>

Shows a dialog containing a material design time picker.

Enums

AnimationStatus

The status of an animation

AppBarBehavior

The Scaffold's appbar is the toolbar, bottom, and the "flexible space" that's stacked behind them. The Scaffold's appBarBehavior defines how its layout responds to scrolling the application's body.

AppLifecycleState

States that an application can be in.

Axis

The two cardinal directions in two dimensions.

BannerLocation

Where to show a Banner.

BlurStyle

Styles to use for blurs in MaskFilter objects.

BorderStyle

The style of line to draw for a BorderSide in a Border.

BottomNavigationBarType

Defines the layout and behavior of a BottomNavigationBar.

BoxShape

The shape to use when rendering a BoxDecoration.

Brightness

Describes the contrast needs of a color.

ButtonTextTheme

Whether a button should use the accent color for its text.

CrossAxisAlignment

How the children should be placed along the cross axis in a flex layout.

CrossFadeState

Specifies which of two children to show. See AnimatedCrossFade.

DayPeriod

Whether the TimeOfDay is before or after noon.

DismissDirection

The direction in which a Dismissable can be dismissed.

DragAnchor

Where the Draggable should be anchored during a drag.

FilterQuality

Quality levels for image filters.

FlexFit

How the child is inscribed into the available space.

FlutterLogoStyle

Possible ways to draw Flutter's logo.

FontStyle

Whether to slant the glyphs in the font

HitTestBehavior

How to behave during hit tests.

ImageFit

How an image should be inscribed into a box.

ImageRepeat

How to paint any portions of a box not covered by an image.

MainAxisAlignment

How the children should be placed along the main axis in a flex layout.

MainAxisSize

How much space space should be occupied in the main axis.

MaterialListType

The kind of list items contained in a material design list.

MaterialType

The various kinds of material in material design. Used to configure the default behavior of Material widgets.

Orientation

Whether in portrait or landscape.

Overflow

Whether overflowing children should be clipped, or their overflow be visible.

PageableListFlingBehavior

Controls how a pageable list should behave during a fling.

PaintingStyle

Strategies for painting shapes and paths on a canvas.

RefreshIndicatorLocation

Where the refresh indicator appears: top for over-scrolls at the start of the scrollable, bottom for over-scrolls at the end.

ScrollableEdge

Identifies one or both limits of a Scrollable in terms of its scrollDirection.

ScrollNotificationKind

Indicates if a ScrollNotification indicates the start, end or the middle of a scroll.

SnackBarClosedReason

Specify how a SnackBar was closed.

StepperType

Defines the Stepper's main axis.

StepState

The state of a Step which is used to control the style of the circle and text.

StrokeCap

Styles to use for line endings.

TableCellVerticalAlignment

Vertical alignment options for cells in RenderTable objects.

TargetPlatform

The platform that user interaction should adapt to target.

TextAffinity

Whether a TextPosition is visually upstream or downstream of its offset.

TextAlign

Whether to align text horizontally

TextBaseline

A horizontal line used for aligning text

TextDecorationStyle

The style in which to draw a text decoration

TextDirection

A direction in which text flows.

TextInputType

For which type of information to optimize the text input control.

TextOverflow

How overflowing text should be handled.

TextSelectionHandleType

Which type of selection handle to be displayed.

TileMode

Defines what happens at the edge of the gradient.

TransferMode

Algorithms to use when painting on the canvas.

VertexMode

Defines how a list of points is interpreted when drawing a set of triangles.

ViewportAnchor

The end of the viewport from which the paint offset is computed.

Classes

AboutDialog

An about box. This is a dialog box with the application's icon, name, version number, and copyright, plus a button to show licenses for software used by the application.

AboutDrawerItem

A DrawerItem to show an about box.

AbsorbPointer

A widget that absorbs pointers during hit testing.

AlertDialog

A material design alert dialog.

Align

A widget that aligns its child within itself and optionally sizes itself based on the child's size.

AlwaysStoppedAnimation

An animation that is always stopped at a given value.

Animatable

An object that can produce a value of type T given an Animation as input.

AnimatedBuilder

A general-purpose widget for building animations.

AnimatedContainer

A container that gradually changes its values over a period of time.

AnimatedCrossFade

A widget that cross-fades between two given children and animates itself between their sizes.

AnimatedDefaultTextStyle

Animated version of DefaultTextStyle which automatically transitions the default text style (the text style to apply to descendant Text widgets without explicit style) over a given duration whenever the given style changes.

AnimatedModalBarrier

A widget that prevents the user from interacting with widgets behind itself.

AnimatedOpacity

Animated version of Opacity which automatically transitions the child's opacity over a given duration whenever the given opacity changes.

AnimatedPositioned

Animated version of Positioned which automatically transitions the child's position over a given duration whenever the given position changes.

AnimatedSize

Animated widget that automatically transitions its size over a given duration whenever the given child's size changes.

AnimatedTheme

Animated version of Theme which automatically transitions the colors, etc, over a given duration whenever the given theme changes.

AnimatedWidget

A widget that rebuilds when the given animation changes value.

AnimatedWidgetBaseState

A base class for widgets with implicit animations.

Animation

An animation with a value of type T

AnimationController

A controller for an animation.

AnimationEagerListenerMixin

A mixin that replaces the didRegisterListener/didUnregisterListener contract with a dispose contract.

AnimationLazyListenerMixin

A mixin that helps listen to another object only when this object has registered listeners.

AnimationLocalListenersMixin

A mixin that implements the addListener/removeListener protocol and notifies all the registered listeners when notifyListeners is called.

AnimationLocalStatusListenersMixin

A mixin that implements the addStatusListener/removeStatusListener protocol and notifies all the registered listeners when notifyStatusListeners is called.

AnimationMean

An animation of doubles that tracks the mean of two other animations.

AnimationWithParentMixin

Implements most of the Animation interface, by deferring its behavior to a given parent Animation. To implement an Animation that proxies to a parent, this class plus implementing "T get value" is all that is necessary.

AppBar

A material design app bar.

AppBarBottomWidget

A widget that can appear at the bottom of an AppBar. The Scaffold uses the bottom widget's bottomHeight to handle layout for AppBarBehavior.scroll and AppBarBehavior.under.

AspectRatio

A widget that attempts to size the child to a specific aspect ratio.

AssetImage

Fetches an image from an AssetBundle, having determined the exact image to use based on the context.

AutoLayout

A widget that uses the cassowary constraint solver to automatically size and position children.

AutoLayoutChild

A widget that provides constraints for a child of an AutoLayout widget.

AutoLayoutDelegate

Subclass to control the layout of a RenderAutoLayout.

AutoLayoutRect

Hosts the edge parameters and vends useful methods to construct expressions for constraints. Also sets up and manages implicit constraints and edit variables.

BackdropFilter

A widget that applies a filter to the existing painted content and then paints child.

BackgroundImage

A background image for a box.

Displays a diagonal message above the corner of another widget.

BannerPainter

Paints a Banner.

Baseline

A widget that positions its child according to the child's baseline.

Block

A scrolling list of variably-sized children.

BlockBody

A widget that uses the block layout algorithm for its children.

Border

A border of a box, comprised of four sides.

BorderRadius

An immutable set of radii for each corner of a rectangle.

BorderSide

A side of a border of a box.

BottomNavigationBar

A material widget displayed at the bottom of an app for selecting among a small number of views.

BottomNavigationBarItem

An interactive destination label within BottomNavigationBar with an icon and title.

BottomNavigationBarState

BottomSheet

A material design bottom sheet.

BoundedBehavior

A scroll behavior that prevents the user from exceeding scroll bounds.

BoxConstraints

Immutable layout constraints for box layout.

BoxConstraintsTween

An interpolation between two BoxConstraints.

BoxDecoration

An immutable description of how to paint a box.

BoxPainter

A stateful class that can paint a particular Decoration.

BoxShadow

A shadow cast by a box.

BuildableElement

An Element that can be marked dirty and rebuilt.

BuildContext

A handle to the location of a widget in the widget tree.

Builder

A platonic widget that calls a closure to obtain its child widget.

BuildOwner

Manager class for the widgets framework.

ButtonBar

A horizontal arrangement of buttons.

ButtonTheme

Defines the button color used by a widget subtree.

Canvas

An interface for recording graphical operations.

Card

A material design card. A card has slightly rounded corners and a shadow.

Center

A widget that centers its child within itself.

Checkbox

A material design checkbox

CheckedModeBanner

Displays a Banner saying "SLOW MODE" when running in checked mode. MaterialApp builds one of these by default. Does nothing in release mode.

CheckedPopupMenuItem

An item with a checkmark in a material design popup menu.

Chip

A material design chip.

CircleAvatar

A circle that represents a user.

CircularProgressIndicator

A material design circular progress indicator.

ClampOverscrolls

A widget that controls whether viewport descendants will overscroll their contents. Overscrolling is clamped at the beginning or end or both according to the edge parameter.

ClipOval

A widget that clips its child using an oval.

ClipPath

A widget that clips its child using a path.

ClipRect

A widget that clips its child using a rectangle.

ClipRRect

A widget that clips its child using a rounded rectangle.

Color

An immutable 32 bit color value in ARGB

ColorFilter

A description of a color filter to apply when drawing a shape or compositing a layer with a particular Paint. A color filter is a function that takes two colors, and outputs one color. When applied during compositing, it is independently applied to each pixel of the layer being drawn before the entire layer is merged with the destination.

Colors

Color constants which represent Material design's color palette.

ColorTween

An interpolation between two colors.

Column

A widget that displays its children in a vertical array.

ComponentElement

An Element that composes other Elements.

CompoundAnimation

An interface for combining multiple Animations. Subclasses need only implement the value getter to control how the child animations are combined. Can be chained to combine more than 2 animations.

ConstrainedBox

A widget that imposes additional constraints on its child.

Container

A convenience widget that combines common painting, positioning, and sizing widgets.

Cubic

A cubic polynomial mapping of the unit interval.

Curve

A mapping of the unit interval to the unit interval.

CurvedAnimation

An animation that applies a curve to another animation.

Curves

A collection of common animation curves.

CurveTween

Transforms the value of the given animation by the given curve.

CustomClipper

An interface for providing custom clips.

CustomGrid

A widget that creates a grid using a custom delegate.

CustomMultiChildLayout

A widget that uses a delegate to size and position multiple children.

CustomPaint

A widget that provides a canvas on which to draw during the paint phase.

CustomPainter

The interface used by CustomPaint (in the widgets library) and RenderCustomPaint (in the rendering library).

CustomSingleChildLayout

A widget that defers the layout of its single child to a delegate.

DataCell

The data for a cell of a DataTable.

DataColumn

Column configuration for a DataTable.

DataRow

Row configuration and cell data for a DataTable.

DataTable

A material design data table.

DataTableSource

A data source for obtaining row data for PaginatedDataTable objects.

DayPicker

Displays the days of a given month and allows choosing a day.

DecoratedBox

A widget that paints a Decoration either before or after its child paints.

Decoration

A description of a box decoration (a decoration applied to a Rect).

DecorationTween

An interpolation between two Decorations.

DefaultAssetBundle

A widget that determines the default asset bundle for its descendants.

DefaultTextStyle

The text style to apply to descendant Text widgets without explicit style.

Dialog

A material design dialog.

Dismissable

A widget that can be dismissed by dragging in the indicated direction.

Divider

A one logical pixel thick horizontal line, with padding on either side.

DragDownDetails

Details for GestureDragDownCallback.

DragEndDetails

Details for GestureDragEndCallback.

Draggable

A widget that can be dragged from to a DragTarget.

DragStartDetails

Details for GestureDragStartCallback.

DragTarget

A widget that receives data when a Draggable widget is dropped.

DragUpdateDetails

Details for GestureDragUpdateCallback.

Drawer

A material design drawer.

DrawerController

Provides interactive behavior for Drawer widgets.

DrawerControllerState

State for a DrawerController.

DrawerHeader

The top-most region of a material design drawer. The header's child widget, if any, is placed inside a Container whose decoration can be passed as an argument, inset by the given padding.

DrawerItem

An item in a material design drawer.

A material design button for selecting from a list of items.

An inherited widget that causes any descendant DropdownButton widgets to not include their regular underline.

An item in a menu created by a DropdownButton.

EdgeInsets

An immutable set of offsets in each of the four cardinal directions.

EdgeInsetsTween

An interpolation between two EdgeInsetss.

ElasticInCurve

An oscillating curve that grows in magnitude while overshooting its bounds.

ElasticInOutCurve

An oscillating curve that grows and then shrinks in magnitude while overshooting its bounds.

ElasticOutCurve

An oscillating curve that shrinks in magnitude while overshooting its bounds.

Element

An instantiation of a Widget at a particular location in the tree.

ErrorWidget

A widget that renders an exception's message.

ExactAssetImage

Fetches an image from an AssetBundle, associating it with the given scale.

ExcludeSemantics

A widget that drops all the semantics of its descendants.

Expanded

A widget that expands a child of a Row, Column, or Flex.

ExpandIcon

A widget representing a rotating expand/collapse button. The icon rotates 180 deg when pressed, then reverts the animation on a second press. The underlying icon is Icons.expand_more.

ExpansionPanel

A material expansion panel. It has a header and a body and can be either expanded or collapsed. The body of the panel is only visible when it is expanded.

ExpansionPanelList

A material expansion panel list that lays out its children and animates expansions.

ExtentScrollBehavior

A scroll behavior for a scrollable widget with linear extent (i.e. that only scrolls along one axis).

FadeTransition

Animates the opacity of a widget.

FileImage

Decodes the given File object as an image, associating it with the given scale.

FittedBox

Scales and positions its child within itself according to fit.

FittedSizes

The pair of sizes returned by applyImageFit.

FixedColumnCountGrid

A widget that uses a grid layout with a fixed column count.

FixedColumnCountGridDelegate

A GridDelegate that divides the grid's width evenly for a fixed number of columns.

FixedColumnWidth

Sizes the column to a specific number of pixels.

FlatButton

A material design "flat button".

Flex

A widget that displays its children in a one-dimensional array.

FlexColumnWidth

Sizes the column by taking a part of the remaining space once all the other columns have been laid out.

Flexible

A widget that controls how a child of a Row, Column, or Flex flexes.

FlexibleSpaceBar

The part of a material design AppBar that expands and collapses.

FlippedCurve

A curve that is the reversed inversion of its given curve.

FloatingActionButton

A material design floating action button.

Flow

A widget that implements the flow layout algorithm.

FlowDelegate

A delegate that controls the appearance of a flow layout.

FlowPaintingContext

A context in which a FlowDelegate paints.

The Flutter logo, in widget form. This widget respects the IconTheme.

FlutterLogoDecoration

An immutable description of how to paint Flutter's logo.

Focus

A scope for managing the focus state of descendant widgets.

FontWeight

The thickness of the glyphs used to draw the text

Force

A factory for simulations.

Form

An optional container for grouping together multiple form field widgets (e.g. Input widgets).

FormField

A single form field. This widget maintains the current state of the form field, so that updates and validation errors are visually reflected in the UI.

FormFieldState

The current state of a FormField. Passed to the FormFieldBuilder method for use in constructing the form field's widget.

FormState

FractionallySizedBox

A widget that sizes its child to a fraction of the total available space. For more details about the layout algorithm, see RenderFractionallySizedOverflowBox.

FractionalOffset

An offset that's expressed as a fraction of a Size.

FractionalOffsetTween

An interpolation between two fractional offsets.

FractionalTranslation

A widget that applies a translation expressed as a fraction of the box's size before painting its child.

FractionColumnWidth

Sizes the column to a fraction of the table's constraints' maxWidth.

GestureDetector

A widget that detects gestures.

GlobalKey

A key that is unique across the entire app.

GlobalObjectKey

A global key that takes its identity from the object used as its value.

Gradient

A 2D gradient.

GridChildPlacement

Where to place a child within a grid.

GridDelegate

An abstract interface to control the layout of a RenderGrid.

GridDelegateWithInOrderChildPlacement

A GridDelegate the places its children in order throughout the grid.

GridPaper

A widget that draws a rectilinear grid of 1px wide lines.

GridPlacementData

A widget that controls the placement of a child in a grid.

GridRenderObjectWidget

A MultiChildRenderObjectWidget for use with RenderGrid.

GridSpecification

Specifies the geometry of tiles in a grid.

GridTile

A tile in a material design grid list.

GridTileBar

A header used in a material design GridTile.

GridViewport

A virtual viewport onto a grid of widgets.

Hero

A widget that marks its child as being a candidate for hero animations.

HeroController

A Navigator observer that manages Hero transitions.

HSVColor

A color represented using alpha, hue, saturation, and value.

Icon

A material design icon.

IconButton

A material design icon button.

IconData

A description of a material design icon.

Icons

Identifiers for the supported material design icons.

IconTheme

Controls the default color, opacity, and size of icons in a widget subtree.

IconThemeData

Defines the color, opacity, and size of icons.

IgnorePointer

A widget that is invisible during hit testing.

Image

A widget that displays an image.

ImageConfiguration

Configuration information passed to the ImageProvider.resolve method to select a specific image.

ImageIcon

An icon that comes from an ImageProvider, e.g. an AssetImage.

ImageShader

A shader (as used by Paint.shader) that tiles an image.

ImplicitlyAnimatedWidget

An abstract widget for building widgets that gradually change their values over a period of time.

IndexedStack

A Stack that shows a single child from a list of children.

InheritedElement

An Element that uses a InheritedWidget as its configuration.

InheritedWidget

Base class for widgets that efficiently propagate information down the tree.

InkFeature

A visual reaction on a piece of Material.

InkHighlight

A visual emphasis on a part of a Material receiving user interaction.

InkResponse

An area of a Material that responds to touch. Has a configurable shape and can be configured to clip splashes that extend outside its bounds or not.

InkSplash

A visual reaction on a piece of Material to user input.

InkWell

A rectangular area of a Material that responds to touch.

Input

A material design text input field.

InputContainer

Displays the visual elements of a material design text field around an arbitrary child widget.

InputField

A simple undecorated text input field.

InputFormField

A FormField that contains an Input.

InputValue

Configuration information for an input field.

Interval

A curve that is 0.0 until start, then curved from 0.0 to 1.0 at end, then 1.0.

IntrinsicColumnWidth

Sizes the column according to the intrinsic dimensions of all the cells in that column.

IntrinsicHeight

A widget that sizes its child to the child's intrinsic height.

IntrinsicWidth

A widget that sizes its child to the child's intrinsic width.

IntTween

An interpolation between two integers that rounds.

Key

A Key is an identifier for Widgets and Elements.

KeyedSubtree

A widget that builds its child.

LabeledGlobalKey

A global key with a debugging label.

LayoutBuilder

Builds a widget tree that can depend on the parent widget's size.

LayoutChangedNotification

Indicates that the layout of one of the descendants of the object receiving this notification has changed in some way, and that therefore any assumptions about that layout are no longer valid.

LayoutId

Meta data for identifying children in a CustomMultiChildLayout.

LazyBlock

An infinite scrolling list of variably-sized children.

LazyBlockBuilder

Uses an IndexedWidgetBuilder to provide children for LazyBlock.

LazyBlockChildren

Uses a List<Widget> to provide children for LazyBlock.

LazyBlockDelegate

Provides children for LazyBlock or LazyBlockViewport.

LazyBlockViewport

A viewport on an infinite list of variable height children.

LazyListViewport

A virtual viewport onto an extremely large or infinite list of equally sized children.

LazyPageViewport

A virtual viewport that displays a single child at a time.

LeafRenderObjectElement

An Element that uses a LeafRenderObjectWidget as its configuration.

LeafRenderObjectWidget

A superclass for RenderObjectWidgets that configure RenderObject subclasses that have no children.

LicensePage

A page that shows licenses for software used by the application.

LimitedBox

A box that limits its size only when it's unconstrained.

LinearGradient

A 2D linear gradient.

LinearProgressIndicator

A material design linear progress indicator.

Listener

A widget that calls callbacks in response to pointer events.

ListItem

A single row typically containing an icon and some text.

ListViewport

A virtual viewport onto a list of equally sized children.

Locale

An identifier used to select a user's language and formatting preferences, consisting of a language and a country. This is a subset of locale identifiers as defined by BCP 47.

LocaleQuery

Establishes a subtree in which locale queries resolve to the given data.

LocaleQueryData

Superclass for locale-specific data provided by the application.

LocalHistoryEntry

An entry in the history of a LocalHistoryRoute.

LocalHistoryRoute

A route that can handle back navigations internally by popping a list.

LocalKey

A key that is not a GlobalKey.

LongPressDraggable

Makes its child draggable starting from long press.

MaskFilter

A mask filter to apply to shapes as they are painted. A mask filter is a function that takes a bitmap of color pixels, and returns another bitmap of color pixels.

Material

A piece of material.

MaterialApp

An application that uses material design.

MaterialButton

A material design button.

MaterialGap

A class that represents a gap within MergeableMaterial.

MaterialInkController

An interface for creating InkSplashs and InkHighlights on a material.

MaterialList

A scrollable list containing material list items.

MaterialPageRoute

A modal route that replaces the entire screen with a material design transition.

MaterialPointArcTween

A Tween that animates a Point along a circular arc.

MaterialRectArcTween

A Tween that animates a Rect from begin to end.

MaterialSlice

A class that can be used as a child to MergeableMaterial. It is a slice of Material that animates merging with other slices.

Matrix4

4D Matrix. Values are stored in column major order.

Matrix4Tween

An interpolation between two Matrix4s.

MatrixUtils

Utility functions for working with matrices.

MaxColumnWidth

Sizes the column such that it is the size that is the maximum of two column width specifications.

MaxTileWidthGrid

A widget that uses a grid layout with a maximum tile width.

MaxTileWidthGridDelegate

A GridDelegate that fills the width with a variable number of tiles.

MediaQuery

Establishes a subtree in which media queries resolve to the given data.

MediaQueryData

Information about a piece of media (e.g., a window).

MergeableMaterial

Displays a list of MergeableMaterialItem children. The list contains MaterialSlice items whose boundaries are either "merged" with adjacent items or separated by a MaterialGap. The children are distributed along the given mainAxis in the same way as the children of a BlockBody. When the list of children changes, gaps are automatically animated open or closed as needed.

MergeableMaterialItem

The base type for MaterialSlice and MaterialGap.

MergeSemantics

A widget that merges the semantics of its descendants.

MetaData

Holds opaque meta data in the render tree.

Mimic

A widget that copies the appearance of another widget.

Mimicable

A widget that can be copied by a Mimic.

MimicableHandle

An opaque reference to a widget that can be mimicked.

MimicableState

The state for a Mimicable.

MimicOverlayEntry

An overlay entry that is mimicking another widget.

MinColumnWidth

Sizes the column such that it is the size that is the minimum of two column width specifications.

ModalBarrier

A widget that prevents the user from interacting with widgets behind itself.

ModalRoute

A route that blocks interaction with previous routes.

MonthPicker

A scrollable list of months to allow picking a month.

MultiChildLayoutDelegate

A delegate that controls the layout of multiple children.

MultiChildRenderObjectElement

An Element that uses a MultiChildRenderObjectWidget as its configuration.

MultiChildRenderObjectWidget

A superclass for RenderObjectWidgets that configure RenderObject subclasses that have a single list of children. (This superclass only provides the storage for that child list, it doesn't actually provide the updating logic.)

Interface describing an object returned by the Route.startPopGesture method, allowing the route's transition animations to be controlled by a drag or other user gesture.

A widget that manages a set of child widgets with a stack discipline.

An interface for observing the behavior of a Navigator.

The state for a Navigator widget.

NetworkImage

Fetches the given URL from the network, associating it with the given scale.

Notification

A notification that can bubble up the widget tree.

NotificationListener

A widget that listens for Notifications bubbling up the tree.

ObjectKey

A key that takes its identity from the object used as its value.

Offset

An immutable 2D floating-point offset.

Offstage

A widget that lays the child out as if it was in the tree, but without painting anything, without making the child available for hit testing, and without taking any room in the parent.

Opacity

A widget that makes its child partially transparent.

OrientationBuilder

Builds a widget tree that can depend on the parent widget's orientation.

OverflowBox

A widget that imposes different constraints on its child than it gets from its parent, possibly allowing the child to overflow the parent.

Overlay

A Stack of entries that can be managed independently.

OverlayEntry

A place in an Overlay that can contain a widget.

OverlayRoute

A route that displays widgets in the Navigator's Overlay.

OverlayState

The current state of an Overlay.

OverscrollBehavior

A scroll behavior that lets the user scroll beyond the scroll bounds with some resistance.

OverscrollIndicator

When the child's Scrollable descendant overscrolls, displays a a translucent arc over the affected edge of the child. If the OverscrollIndicator's child has more than one Scrollable descendant the scrollableKey parameter can be used to identify the one to track.

OverscrollWhenScrollableBehavior

A scroll behavior that lets the user scroll beyond the scroll bounds only when the bounds are disjoint.

Padding

A widget that insets its child by the given padding.

Pageable

A base class for widgets that display one page at a time.

PageableLazyList

A widget that pages through a lazily constructed list of children.

PageableList

A widget that pages through an iterable list of children.

PageableListState

State for a PageableList widget.

PageableState

State for widgets that subclass Pageable.

PageRoute

A modal route that replaces the entire screen.

PageStorage

A widget that establishes a page storage bucket for this widget subtree.

PageStorageBucket

A storage bucket associated with a page in an app.

PageViewport

A virtual viewport that displays a single child at a time.

PaginatedDataTable

A wrapper for DataTable that obtains data lazily from a DataTableSource and displays it one page at a time. The widget is presented as a Card.

PaginatedDataTableState

Holds the state of a PaginatedDataTable.

Paint

A description of the style to use when drawing on a Canvas.

PaintingContext

A place to paint.

ParentDataElement

An Element that uses a ParentDataWidget as its configuration.

ParentDataWidget

Base class for widgets that hook ParentData information to children of RenderObjectWidgets.

Path

A complex, one-dimensional subset of a plane.

PerformanceOverlay

Displays performance statistics.

PersistentBottomSheetController

A ScaffoldFeatureController for persistent bottom sheets.

Placeholder

A widget whose child can be mutated.

PlaceholderState

State for a Placeholder widget.

Point

An immutable 2D floating-point x,y coordinate pair.

PointerCancelEvent

The input from the pointer is no longer directed towards this receiver.

PointerDownEvent

The pointer has made contact with the device.

PointerEvent

Base class for touch, stylus, or mouse events.

PointerMoveEvent

The pointer has moved with respect to the device while the pointer is in contact with the device.

PointerUpEvent

The pointer has stopped making contact with the device.

PopupMenuButton

Displays a menu when pressed and calls onSelected when the menu is dismissed because an item was selected. The value passed to onSelected is the value of the selected menu item. If child is null then a standard 'navigation/more_vert' icon is created.

PopupMenuDivider

A horizontal divider in a material design popup menu.

PopupMenuEntry

A base class for entries in a material design popup menu.

PopupMenuItem

An item in a material design popup menu.

PopupRoute

A modal route that overlays a widget over the current route.

Positioned

A widget that controls where a child of a Stack is positioned.

PositionedTransition

Animated version of Positioned which takes a specific Animation<RelativeRect> to transition the child's position from a start position to and end position over the lifetime of the animation.

ProgressIndicator

A base class for material design progress indicators

ProxyAnimation

An animation that is a proxy for another animation.

ProxyElement

An Element that uses a ProxyElement as its configuration.

ProxyWidget

A widget that has exactly one child widget.

RadialGradient

A 2D radial gradient.

Radio

A material design radio button.

Radius

A radius for either circular or elliptical shapes.

RaisedButton

A material design "raised button".

RawGestureDetector

A widget that detects gestures described by the given gesture factories.

RawGestureDetectorState

State for a RawGestureDetector.

RawImage

A widget that displays a ui.Image directly.

RawInput

A basic text input control.

RawInputState

State for a RawInput.

RawKeyboardListener

A widget that calls a callback whenever the user presses or releases a key on a keyboard.

Rect

An immutable 2D, axis-aligned, floating-point rectangle whose coordinates are relative to an origin point.

RectTween

An interpolation between two rectangles.

RefreshIndicator

A widget that supports the Material "swipe to refresh" idiom.

RefreshIndicatorState

Contains the state for a RefreshIndicator. This class can be used to programmatically show the refresh indicator, see the show method.

RefreshProgressIndicator

An indicator for the progress of refreshing the contents of a widget.

RelativePositionedTransition

Animated version of Positioned which transitions the child's position based on the value of rect relative to a bounding box with the specified size.

RelativeRect

An immutable 2D, axis-aligned, floating-point rectangle whose coordinates are given relative to another rectangle's edges, known as the container. Since the dimensions of the rectangle are relative to those of the container, this class has no width and height members. To determine the width or height of the rectangle, convert it to a Rect using toRect() (passing the container's own Rect), and then examine that object.

RelativeRectTween

An interpolation between two relative rects.

RenderBox

A render object in a 2D cartesian coordinate system.

RenderObject

An object in the render tree.

RenderObjectElement

An Element that uses a RenderObjectWidget as its configuration.

RenderObjectToWidgetAdapter

A bridge from a RenderObject to an Element tree.

RenderObjectToWidgetElement

A RootRenderObjectElement that is hosted by a RenderObject.

RenderObjectWidget

RenderObjectWidgets provide the configuration for RenderObjectElements, which wrap RenderObjects, which provide the actual rendering of the application.

RenderToggleable

A base class for material style toggleable controls with toggle animations.

RepaintBoundary

A widget that creates a separate display list for its child.

ReverseAnimation

An animation that is the reverse of another animation.

RichText

A paragraph of rich text.

RootRenderObjectElement

The element at the root of the tree.

RotatedBox

A widget that rotates its child by a integral number of quarter turns.

RotationTransition

Animates the rotation of a widget.

Route

An abstraction for an entry managed by a Navigator.

RouteSettings

Data that might be useful in constructing a Route.

Row

A widget that displays its children in a horizontal array.

RRect

A rounded rectangle with the custom radii for all four corners.

RSTransform

A transform consisting of a translation, a rotation, and a uniform scale.

SawTooth

A sawtooth curve that repeats a given number of times over the unit interval.

Scaffold

Implements the basic material design visual layout structure.

ScaffoldFeatureController

An interface for controlling a feature of a Scaffold.

ScaffoldState

State for a Scaffold.

ScaleEndDetails

Details for GestureScaleEndCallback.

ScaleStartDetails

Details for GestureScaleStartCallback.

ScaleTransition

Animates the scale of transformed widget.

ScaleUpdateDetails

Details for GestureScaleUpdateCallback.

Scrollable

A base class for scrollable widgets.

ScrollableGrid

A vertically scrollable grid.

ScrollableLazyList

An infinite scrollable list of children that have equal size.

ScrollableList

A scrollable list of children that have equal size.

ScrollableState

Contains the state for common scrolling widgets that scroll only along one axis.

ScrollableViewport

A simple scrolling widget that has a single child.

Scrollbar

Displays a scrollbar that tracks the scrollOffset of its child's Scrollable descendant. If the Scrollbar's child has more than one Scrollable descendant the scrollableKey parameter can be used to identify the one the Scrollbar should track.

ScrollBehavior

An interface for controlling the behavior of scrollable widgets.

ScrollConfiguration

A widget that controls descendant Scrollable widgets.

ScrollConfigurationDelegate

Controls how Scrollable widgets in a subtree behave.

ScrollNotification

Indicates that a scrollable descendant is scrolling.

ScrollSimulation

Composite simulation for scrollable interfaces.

Semantics

A widget that annotates the widget tree with a description of the meaning of the widgets.

SemanticsDebugger

A widget that visualizes the semantics for the child.

Shader

Base class for objects such as Gradient and ImageShader which correspond to shaders as used by Paint.shader.

ShaderMask

A widget that applies a mask generated by a Shader to its child.

SimpleDialog

A simple material design dialog.

SingleChildLayoutDelegate

A delegate for computing the layout of a render object with a single child.

SingleChildRenderObjectElement

An Element that uses a SingleChildRenderObjectWidget as its configuration.

SingleChildRenderObjectWidget

A superclass for RenderObjectWidgets that configure RenderObject subclasses that have a single child slot. (This superclass only provides the storage for that child, it doesn't actually provide the updating logic.)

SingleTickerProviderStateMixin

Provides a single Ticker that is configured to only tick while the current tree is enabled, as defined by TickerMode.

Size

Holds a 2D floating-point size.

SizeChangedLayoutNotificaion

Indicates that the size of one of the descendants of the object receiving this notification has changed, and that therefore any assumptions about that layout are no longer valid.

SizeChangedLayoutNotifier

A widget that automatically dispatches a SizeChangedLayoutNotifier when the layout of its child changes.

SizedBox

A box with a specified size.

SizedOverflowBox

A widget that is a specific size but passes its original constraints through to its child, which will probably overflow.

SizeTransition

Animates its own size and clips and aligns the child.

SizeTween

An interpolation between two sizes.

Slider

A material design slider.

SlideTransition

Animates the position of a widget relative to its normal position.

SnackBar

A lightweight message with an optional action which briefly displays at the bottom of the screen.

SnackBarAction

A button for a SnackBar, known as an "action".

SpringDescription

Structure that describes a spring's constants.

SpringForce

A factory for spring-based physics simulations.

Stack

A widget that uses the stack layout algorithm for its children.

State

The logic and internal state for a StatefulWidget.

StatefulBuilder

A platonic widget that both has state and calls a closure to obtain its child widget.

StatefulElement

An Element that uses a StatefulWidget as its configuration.

StatefulWidget

A widget that has mutable state.

StatelessElement

An Element that uses a StatelessWidget as its configuration.

StatelessWidget

A widget that does not require mutable state.

StatusTransitionWidget

A widget that rebuilds when the given animation changes status.

Step

A material step used in Stepper. The step can have a title and subtitle, an icon within its circle, some content and a state that governs its styling.

Stepper

A material stepper widget that displays progress through a sequence of steps. Steppers are particularly useful in the case of forms where one step requires the completion of another one, or where multiple steps need to be completed in order to submit the whole form.

StepTween

An interpolation between two integers that floors.

Switch

A material design switch.

TabBar

A widget that displays a horizontal row of tabs, one per label.

TabBarSelection

Coordinates the tab selection between a TabBar and a TabBarView.

TabBarSelectionAnimationListener

An abstract interface through which TabBarSelection reports changes.

TabBarSelectionState

State for a TabBarSelection widget.

TabBarView

A widget that displays the contents of a tab.

TabLabel

Each TabBar tab can display either a title text, an icon, or both. An icon can be specified by either the icon or iconBuilder parameters. In either case the icon will occupy a 24x24 box above the title text. If iconBuilder is specified its color parameter is the color that an ordinary icon would have been drawn with. The color reflects that tab's selection state.

Table

A widget that uses the table layout algorithm for its children.

TableBorder

Border specification for RenderTable.

TableCell

A widget that controls how a child of a Table is aligned.

TableColumnWidth

Base class to describe how wide a column in a RenderTable should be.

TableRow

A horizontal group of cells in a Table.

TableRowInkWell

A rectangular area of a Material that responds to touch but clips its ink splashes to the current table row of the nearest table.

TabPageSelector

A widget that displays a visual indicator of which tab is selected.

TapDownDetails

Details for GestureTapDownCallback, such as position.

TapUpDetails

Details for GestureTapUpCallback, such as position.

Text

A run of text with a single style.

TextDecoration

A linear decoration to draw near the text

TextPainter

An object that paints a TextSpan tree into a Canvas.

TextPosition

A visual position in a string of text.

TextRange

A range of characters in a string of text.

TextSelection

A range of text that represents a selection.

TextSelectionControls

TextSelectionDelegate

An interface for manipulating the selection, to be used by the implementor of the toolbar widget.

TextSelectionOverlay

An object that manages a pair of text selection handles.

TextSpan

An immutable span of text.

TextStyle

An immutable style in which paint text.

TextStyleTween

An interpolation between two TextStyles.

TextTheme

Material design text theme.

Theme

Applies a theme to descendant widgets.

ThemeData

Holds the color and typography values for a material design theme.

ThemeDataTween

An animated value that interpolates ThemeDatas.

Threshold

A curve that is 0.0 until it hits the threshold, then it jumps to 1.0.

TickerMode

Enables or disables tickers (and thus animation controllers) in the widget subtree.

TickerProvider

An interface implemented by classes that can vend Ticker objects.

TickerProviderStateMixin

Provides Ticker objects that are configured to only tick while the current tree is enabled, as defined by TickerMode.

TimeOfDay

A value representing a time during the day

Title

A widget that describes this app in the operating system.

Tooltip

A material design tooltip.

TrainHoppingAnimation

This animation starts by proxying one animation, but can be given a second animation. When their times cross (either because the second is going in the opposite direction, or because the one overtakes the other), the animation hops over to proxying the second animation, and the second animation becomes the new "first" performance.

Transform

A widget that applies a transformation before painting its child.

TransitionRoute

A route with entrance and exit transitions.

Tween

A linear interpolation between a beginning and ending value.

TwoLevelList

A scrollable list of items that can expand and collapse.

TwoLevelListItem

An item in a TwoLevelList or a TwoLevelSublist.

TwoLevelSublist

An item in a TwoLevelList that can expand and collapse.

TypeMatcher

This class is a work-around for the "is" operator not accepting a variable value as its right operand

Typography

The two material design text themes.

UnboundedBehavior

A scroll behavior that does not prevent the user from exceeding scroll bounds.

UniqueKey

A key that is only equal to itself.

UniqueWidget

Base class for stateful widgets that have exactly one inflated instance in the tree.

UserAccountsDrawerHeader

A material design Drawer header that identifies the app's user.

ValueKey

A key that uses a value of a particular type to identify itself.

Velocity

A velocity in two dimensions.

Viewport

A widget that's bigger on the inside.

ViewportDimensions

The interior and exterior dimensions of a viewport.

VirtualViewport

An abstract widget whose children are not all materialized.

VirtualViewportElement

An element that materializes a contiguous subset of its children.

VirtualViewportFromBuilder

A VirtualViewport that represents its children using ItemListBuilder.

VirtualViewportFromIterable

A VirtualViewport that represents its children using Iterable<Widget>.

Widget

Describes the configuration for an Element.

WidgetsApp

A convenience class that wraps a number of widgets that are commonly required for an application.

WidgetsBinding

The glue between the widgets layer and the Flutter engine.

WidgetsBindingObserver

Interface for classes that register with the Widgets layer binding.

WidgetsFlutterBinding

A concrete binding for applications based on the Widgets framework. This is the glue that binds the framework to the Flutter engine.

WidgetToRenderBoxAdapter

An adapter for placing a specific RenderBox in the widget tree.

YearPicker

A scrollable list of years to allow picking a year.

Exceptions / Errors

FlutterError

Error class used to report Flutter-specific assertion failures and contract violations.