Why knowledge of Types Of Widgets in Flutter is the Key to Learning the Flutter Development

May 26, 2022 14 min read
Types Of Widgets in Flutter

Flutter supported multiple widgets like:

  • Animation and motion widgets
  • Accessibility widgets
  • Assets, images, and icon widgets
  • Async widgets
  • Cupertino (iOS-style) widgets
  • Input widgets
  • Layout widgets
  • Material Components widgets
  • Painting and effect widgets
  • Scrolling widgets
  • Styling widgets
  • Text widgets
  • Basic widgets

Dart is used in flutter programming language and is useful for developing flutter apps.

To develop flutter apps using the widgets, the flutter developer needs to have the knowledge of how to use different kinds of widgets in the application according to its usability and features.

Flutter app development is totally based on mixed use of the flutter widget. Flutter development is not possible without widgets.

Types of Flutter Widgets:

Here are the different types of flutter widgets that are used by most of the flutter app development companies

  1. Animation and motion widgets   

Flutter  app development  needs good animation. Flutter provides animation widgets without this animation it looks not good.

  • AnimatedAlign

An animated version of the alignment that automatically changes the child's position over a given period when a given configuration changes

  • AnimatedBuilder

General purpose widget for creating animations. To use Animated Builder, just create a widget and pass it to the builder function

  • AnimatedContainer

A container that gradually changes its values ​​over time

  • AnimatedCrossFade

This widget provided animation between two children with different size 

  • AnimatedDefaultTextStyle

An animated version of the default textstyle that automatically transitions to the default default text style (text style to apply to offspring text widgets without specified style) when a given style changes

  • AnimatedListState

The position for the scrolling container that animates when items are inserted or removed

  • AnimatedModalBarrier 

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

  • AnimatedOpacity

Animate opacity can help by merging the widget into a view or making it less prominent when something is not liked

  • AnimatedPositioned

An animated version of the status that automatically changes the child's status to a given period when a given status changes

  • AnimatedSize

Animated widget that automatically transfers the size of a given child over a given period of time

  • DecoratedBoxTransition

An animated version of the decorated box that animates the different properties of its decor.

  • FadeTransition

Animates the opacity of the widget.

  • Hero

A widget that marks her child as a candidate for Hero Animation.

  • PositionedTransition

An animated version of Positioned takes specific animations to move the child's position from start to finish during the life of the animation.

  • RotationTransition

Animates the rotation of a widget.

  • ScaleTransition

Animates the scale of the converted widget.

  • SizeTransition

Animates its own size and aligns the child clips and clip.

  • SlideTransition

The position of the widget corresponds to its normal position.

  1. Accessibility widgets
  • ExcludeSemantics

A widget that drops all the economics of its descendants. It's used for hidden sub widgets but would only be confusing. For example, Material Components hides the chip widget avatar because it does more work than the chip label.

  • MergeSemantics

A widget that merges the economy of its dynasty.

  • Semantics

A widget that notifies the widget tree with a description of the meaning of the widgets. Is provided a read only,enabled and label properties.

  1. Assets, images, and icon widgets
  • AssetBundle

Asset bundles include resources, such as images and strings, that can be used by the application. These resources are asynchronous so that they can be loaded transparently over the network (e.g. from the Network SetBundle) or from the local file system, without blocking the user interface on the application.

  • Icon

Icon for  Material Design.

  • Image

A widget that displays an image.

  • RawImage

Provided the widget in dart UI image direct.

  1. Async widgets
  • FutureBuilder

A widget based on the latest snapshots of interactions with the future that builds itself.

  • StreamBuilder

Provide the widget in load API data from stream and visible from data in builder.

  1. Cupertino (iOS-style) widgets

Flutter app development is cross-platform development, so to support iOS, flutter added cupertino widget in order to support iOS apps.

  • CupertinoActionSheet

IOS-style model bottom action sheet for many people to choose an option.

  • CupertinoActivityIndicator

IOS-style activity indicator. Displays a circular ‘spinner’.

  • CupertinoAlertDialog

Provide IOS-style alert dialog.

  • CupertinoButton

Provide a button in IOS-style.

  • CupertinoContextMenu

IOS-style full-screen model root that opens when the child is long-pressed. Used to display actions related to your content.

  • CupertinoDatePicker

Provide date or date and time picker in  IOS-style.

  • CupertinoDialog

Provide a dialog in IOS-style.

  • CupertinoNavigationBar

IOS-style top navigation bar. Typically used with Capertinopagescafold.

  • CupertinoPageScaffold

Basic iOS style page layout structure. Lays the navigation bar and content on the background.

  • CupertinoPageTransition

Provides page transition animations in iOS-style.

  • CupertinoPicker

IOS-style picker control. Provided to select items in list.

  • CupertinoPopupSurface

A rounded rectangular widget like an iOS pop-up surface, such as an alert dialog or an action sheet.

  • CupertinoScrollbar

scrollbar that indicates which part of the currently scrollable widget is visible in IOS style.

  • CupertinoSegmentedControl

An iOS-style split control. Used to select mutually exclusive options in the horizontal list.

  • CupertinoSlider

Provided the value select from range.

  • CupertinoSwitch

OS-style switch. Used to turn on / off the same settings mode.

  • CupertinoTabBar

IOS-style bottom tab bar. Typically with Capertino Tabscofold.

  • CupertinoTabView

Root content of tabs that support navigation parallel between tabs. Typically with Capertino Tabscofold.

  • CupertinoTextField

Provides text fields in iOS-style.

  1. Input widgets
  • Form

Optional container for grouping multiple form field widgets (e.g. textfield widgets) together.

  • FormField

Single form field .This widget is current state in form field and update and validation error in ui.

  • RawKeyboardListener

Widget that makes calls to a club back call whenever the user presses or releases a key on the keyboard

  1. Layout widgets

Layout widgets are the most common in flutter app development. This is providing all types of facilities including managing content on screen using alignment, aspect ratio, center, padding etc properties.

  • Align

 widget that organizes its child within itself and sizes itself alternatively depending on the child's size.

  • AspectRatio

A widget that tries to size the child in a certain aspect ratio.

  • Baseline

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

  • Center

A widget that keeps its child inside itself.

  • ConstrainedBox

A widget that imposes an additional barrier on her child

  • Container

A handy widget that combines general painting, positioning and resizing widgets.

  • CustomSingleChildLayout

A widget that sends delegates to the layout of their child.

  • Expanded

A widget used for extending the child to a row, cumulus or flax.

  • FittedBox

Its position inside her child according to the scales and positions 

  • FractionallySizedBox

A widget that measures the fraction of the total available space of its available child.

  • IntrinsicHeight

A widget that gives her child the size of a child's internal height.

  • IntrinsicWidth

A widget that gives her child the size of a child's internal width.

  • LimitedBox

A box that does not limit its size.

  • Offstage

A widget that puts a child out of a tree, but without painting anything, without making the child available for a hit test, and without taking a room in the parent

  • OverflowBox

A widget that can impose different barriers on her child than she gets from her parents, probably allows the child to overflow the parent.

  • Padding

A widget that insets her child through a given padding and this widget flutter app developer is used in almost all apps

  • SizedBox

Box x with specified size. If a child is granted, this widget accepts its child to a specific width and / or height (recognition of beliefs by the parents of this widget). If either width or height is null, this widget will take its own size to match the size of the child in that dimension.

  • Transform

A widget that applies the conversion to her child before painting

7.1 Multi-child layout widgets

  • Column

This widget is common so flutter app developers uses it often. Layout the list of child widgets in the child direction.

  • CustomMultiChildLayout

A widget that uses multiple children representative for size and position.

  • Flow

A widget that implements a flow layout algorithm.

  • GridView

The grid list also has a recurring pattern of cells arranged in a horizontal layout. The Grid View widget applies this component.

  • IndexedStack

A stack that shows a child from a list of children

  • LayoutBuilder

Creates a widget tree based on the size of the parent widget.

  • ListBody

A widget that aligns its children sequentially with a given axis, forcing them into the parent dimension of the other axis.

  • ListView

Scrollable, linear list of widgets. Listview is most used for scrolling the widget. She shows her children one scroll direction after another. In the cross axis, children are required to fill out a list view.

  • Row

Layout the list of child widgets in the horizontal direction.

  • Stack

This class is useful if you want to easily overlap multiple children, for example, if there is some text and an image, with a button attached at the top and bottom.

  • Table

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

  • Wrap

A widget that shows her children in multiple horizontal or vert even runs.

7.2 Sliver widgets

  • CupertinoSliverNavigationBar

IOS-style navigation bar with large iOS-style titles using sleeves.

  • CustomScrollView

Scrollview which creates custom scroll effects using sliders.

  • SliverAppBar

Content design application bar that integrates with CustomScrollview.

  • SliverChildBuilderDelegate

A builder who supplies children for slippers using the builder's call lab back.

  • SliverChildListDelegate

A representative who supplies children for Slavers using a clear list.

  • SliverGrid

A sliver that holds multiple children in two dimensional configurations.

  • SliverList

A sliver that holds multiple children in a linear array along the main axis.

  • SliverPadding

A sleeve that applies padding to each side of the other sleeve

  • SliverPersistentHeader

A sliver whose size changes when the silver scrolls to the edge of the viewport opposite the growth direction.

  • SliverToBoxAdapter

A sliver that contains a single widget widget.

  1. Material Components widgets

This widget is the most used of all apps so Flutter app development company  expects the flutter developer to know the common widget like material components.

  • Appbar

Material design application bar. An application bar includes toolbars and possibly other widgets, such as the TBbar and the FlexibleSpacebar.

  • BottomNavigationBar

The navigation bars at the bottom make it easy to explore and switch high-level views in a single tap. The Bottom Navigation Bar Widget applies this component.

  • Drawer

Provided a design in side a horizontally from edge the scaffold show navigation link in app.

  • MaterialApp

A handy widget that wraps around many of the widgets typically needed for applications that apply material design.

  • Scaffold

The basic material design implements the visual layout structure. This class provides a body, app bar and floating button.

  • TabBar

Material design widget that displays a horizontal row of texts.

  • TabBarView

A page view that displays a widget that corresponds to the currently selected tab. Especially used in conjunction with tabbars.

8.1 Buttons

  • ButtonBar

Horizontal alignment of buttons.

  • DropdownButton

Provided the selected item in a particular list is a menu and select data.

  • FlatButton

A flat button is a section printed on the Material Components widget that clicks an animated filling color.

  • FloatingActionButton

The floating action button is a circular icon button that rotates on the content to promote the primary action in the application. Floating action buttons are most commonly used in the scaffold. floating action button area.

  • IconButton

The icon button is a picture printed on a material widget that responds to touch by filling in color (ink).

  • OutlineButton

A medium-load button for secondary actions that are important but not the primary action in the application.

  • PopupMenuButton

Displays the menu when pressed and calls when the menu is fired when the item was selected.

  • RaisedButton

A material design raised bha button. The Raised Bha button contains a  rectangular piece of content that rotates across the interface.

8.2 Input and selections

  • Checkbox

Widget is provided to multiple items in one list The Checkbox widget implements this component.

  • Date & Time Pickers

This widget provides a date picker dialog and time picker dialog and the selected date and time is set and sent to the server.

  • Radio

Widget is provided to a single item in a one list The radio widget is used for only selected single values.

  • Slider

Provided the user selects a range of values by moving the slider.

  • Switch

The switch provided is on / off to tick the status of a settings option. The switch widget applies this component.

  • TextField

Touching a text field moves the cursor and displays the keyboard. The textfield widget applies this component.

8.3 Dialogs, alerts, and panels

  • AlertDialog

Alerts are immediate interruptions that require acceptance that inform the user of the situation. The Alert dialog widget applies this component.

  • BottomSheet

apply the model bottom sheet you can call the show bottom sheet () to apply the continuous bottom sheet or the show modal bottom sheet ().

  • SimpleDialog

Simple dialogs can provide additional details or actions about the list item. For example, they may display avatar symbols explaining subtext or orthogonal actions (such as adding an account).

  • SnackBar

A lightweight message with an alternate action that is briefly displayed at the bottom of the screen.

8.4 Information displays

  • Card

Material design card. The cards have slightly rounded corners and shadows.

  • Chip

Chip is provided as a complex entity in small blocks, such as contact.

  • CircularProgressIndicator

A material design circular progress indicator, spins to indicate which application is busy.

  • DataTable

Data tables display sets of raw data. They usually appear in desktop enterprise products. The datatable widget applies this component.

  • Icon

Provided Material design icon.

  • Image

Image is display widgets.

  • LinearProgressIndicator

Is a progress bar a material design.

8.5 Layout

  • Divider

A horizontal line between two widget, with padding on both sides.

  • ListTile

Provided an image with in list in tralling, title, subtitle and leading component.

  • Stepper

Material design stepper widget that shows progress by sequence of steps

  1. Painting and effect widgets

Sometimes applications look and feel very good because the app uses custom paint that is defined inside flutter programming language already.

  • BackdropFilter

A widget that applies a filter to existing painted material and then paints the child. This effect is relatively expensive, especially if the filter is non-localized, such as opacity.

  • ClipOval

Child using an oval in clips widget.

  • ClipPath

Child using path in clips widget.

  • ClipRect

child using a rectangle in clips widget.

  • CustomPaint

Provides this widget a canvas on which to draw during the paint phase.

  • DecoratedBox

decorations before or after her child paints this widget.

  • FractionalTranslation

A widget that applies a translation expressed as a fraction of B's ​​size before painting it for her child.

  • Opacity

This widget makes her child partially transparent.

  • RotatedBox

 that rotates her child by an integral number of quarter turns.

  • Transform

A widget that applies the conversion to her child before painting.

  1. Scrolling widgets
  • CustomScrollView

Scrollview which creates custom scroll effects using sliders.

  • NestedScrollView

Inside scrolling view, which may contain other scrolling views, with their scroll positions connected to each other

  • NotificationListener

A widget that listens to subtle instructions that bounce the tree.

  • PageView

works page by page work that scrollable list.

  • RefreshIndicator

pull-to-refresh wrapper for scrollable objects in material design.

  • ScrollConfiguration

Controls how scrollable widgets behave in the subtree.

  • Scrollable

Scrollable applies a model of interaction to a scrollable widget, including gesture recognition, but not an opinion about how the viewport, which actually displays children, is created.

  • Scrollbar

A material design scrollbar. scrollbar indicates in which part of scrollable widget is actually visible.

  • SingleChildScrollView

A box in which a single widget can be scrolled.that all widget in set one column and his set in single child scrollview so all widget are scrollable.

  1. Styling widgets
  • MediaQuery

Is solve the problem in height or width in screen

  • Padding

A widget that insets her child through a given left,right,top and bottom padding.

  • Theme

Theme applies to descendant widgets. The theme describes the colors and typographic preferences of the application.

  1. Text widgets
  • DefaultTextStyle

This widgets without explicit style and The text style to apply to descendant.

  • RichText

This widget displays text in multiple sizes and different colors use text in a single sentence.

  • Text

single style run with text.

  1. Basic widgets
  • Appbar
  • Column
  • Container
  • FlutterLogo
  • Icon
  • Image
  • RaisedButton
  • Row
  • Scaffold
  • Text 

All widgets are described in the upper widgets details.

Need a consultation?

Drop us a line! We are here to answer your questions 24/7.

whatsapp icon