Flutter Widgets: A Definitive Guide.
I am professional app developer with 7+ years of experience in developing apps used by millions of users everyday.
There are 410 widget subclasses in flutter framework. We will go through them one after another in this series.
Basic Widgets
- Text
- Image
- Icon
- ElevatedButton
- Row
- Column
- Wrap
- Container
- Scaffold
- AppBar
- Placeholder
- Card
- Checkbox
- Radio
- FloatingActionButton
- Switch
- SafeArea
- WillPopScope
Text Widgets
- Text
- RichText
- DefaultTextStyle
- SelectableText
- TextField
- EditableText
Image Widgets
- Image
- CircleAvatar
- RawImage
- FadeInImage
- ImageIcon
Layout Widgets
- Card
- ExpansionPanelRadio
- ExpansionPanelList
- ReorderableListView
- AnimatedList
- ListBody
- Stack
- IndexedStack
- Flex
- Row
- Column
- Flexible
- Expanded
- Wrap
- Flow
- LayoutBuilder
- Container
- DecoratedBox
- GridPaper
- ViewPort
- ShrinkWrappingViewport
- NestedScrollViewViewport
- PageView
- ReorderableList
- AnimatedBuilder
Icon Widgets
- Icon
- AnimatedIcon
- BackButtonIcon
- ExpandIcon
- ImageIcon
Buttons
- BackButtonIcon
- BackButton
- CloseButton
- ButtonBar
- TextButton
- ElevatedButton
- OutlinedButton
- RawMaterialButton
- DropdownButton
- FloatingActionButton
- IconButton
- ToggleButtons
Async
- StreamBuilder
- FutureBuilder
Sliders
- RangeSlider
- Slider
Animations
- Hero
- SliverAnimatedList
- AnimatedIcon
- AnimatedCrossFade
- AnimatedList
- AnimatedSize
- AnimatedSwitcher
- AnimatedContainer
- AnimatedPadding
- AnimatedAlign
- AnimatedPositioned
- AnimatedPositionedDirectional
- AnimatedOpacity
- SliverAnimatedOpacity
- AnimatedDefaultTextStyle
- AnimatedPhysicalModel
- AnimatedModalBarrier
- AnimatedBuilder
- TweenAnimationBuilder
Transition
- SlideTransition
- ScaleTransition
- RotationTransition
- SizeTransition
- FadeTransition
- SliverFadeTransition
- PositionedTransition
- RelativePositinedTransition
- DecoratedBoxTransition
- AlignTransition
- DefaultTextStyleTransition
About Widgets
- AboutListTile
- AboutDialog
- LicensePage
Dialogs
- AboutDialog
- BottomSheet
- CalendarDatePicker
- YearPicker
- DatePickerDialog
- DateRangePickerDialog
- Dialog
- AlertDialog
- SimpleDialogOption
- SimpleDialog
- DropdownButton
Form Widgets
- Form
- FormField
- Autocomplete
- RawAutocomplete
- DropdownButtonFormField
- InputDatePickerFormField
- TextFormField
- AutofillGroup
Scroll
- Scrollbar
- RawScrollbar
- CupertinoScrollbar
- ListWheelScrollView
- NestedScrollView
- CustomScrollView
- ListView
- GridView
- ScrollView
- BoxScrollView
- Scrollable
- SingleChildScrollView
Sliver Widgets
- SliverAppBar
- SliverAnimatedList
- SliverToBoxAdapter
- SliverPadding
- SliverOverlapAbsorber
- SliverOverlapInjector
- SliverReorderableList
- SliverSafeArea
- SliverFillViewport
- SliverFillRemaining
- SliverLayoutBuilder
- SliverPersistentHeader
- SliverPrototypeExtentList
- SliverWithKeepAliveWidget
- SliverMultiBoxAdaptorWidget
- SliverList
- SliverFixedExtentList
- SliverGrid
- SliverOpacity
- SliverIgnorePointer
- SliverOffstage
- SliverVisibility
AppBar Widgets
- AppBar
- SliverAppBar
- BottomAppBar
- PreferredSize
Table Widgets
- DataTable
- TableRowInkWell
- PaginatedDataTable
- Table
- TableCell
List Item Widgets
- CheckboxListTile
- DropdownMenuItem
- ExpansionTile
- GridTile
- GridTitleBar
- ListTile
- RadioListTile
- SwitchListTile
Chip Widgets
- Chip
- InputChip
- ChoiceChip
- FilterChip
- ActionChip
- RawChip
Navigation Widgets
- BottomNavigationBar
- CupertinoNavigationBar
- CupertinoSliverNavigationBar
- NavigationRail
- NavigationToolbar
Drawer
- DrawerHeader
- Drawer
- DrawerController
Popup Menu
- PopupMenuDivider
- PopupMenuItem
- CheckedPopupMenuItem
- PopupMenuButton
Progress Indicators
- LinearProgressIndicator
- CircularProgressIndicator
- RefreshProgressIndicator
Tab
- DefaultTabController
- Tab
- TabBar
- TabBarView
- TabPageSelectorIndicator
- TabPageSelector
Material Widgets
- AppBar
- SliverAppBar
- MaterialApp
- MaterialBannerTheme
- MaterialBanner
- BottomAppBar
- BottomNavigationBarTheme
- BottomNavigationBar
- FlexibleSpaceBar
- FlexibleSpaceBarSettings
- Ink
- InkResponse
- InkWell
- Material
- MergeableMaterial
- ScaffoldMessenger
- Scaffold
- SnackBarAction
- SnackBar
- Stepper
- UserAccountsDrawerHeader
Cupertino Widgets
- CupertinoActionSheet
- CupertinoActionSheetAction
- CupertinoActivityIndicator
- CupertinoApp
- CupertinoTabBar
- CupertinoButton
- CupertinoContextMenuAction
- CupertinoContextMenu
- CupertinoDatePicker
- CupertinoTimerPicker
- CupertinoAlertDialog
- CupertinoPopupSurface
- CupertinoDialogAction
- CupertinoFormRow
- CupertinoFormSection
- CupertinoNavigationBar
- CupertinoSliverNavigationBar
- CupertinoNavigationBarBackButton
- CupertinoPageScaffold
- CupertinoPicker
- CupertinoPickerDefaultSelectionOverlay
- CupertinoSliverRefreshControl
- CupertinoPageTransition
- CupertinoFullscreenDialogTransition
- CupertinoSearchTextField
- CupertinoSegmentedControl
- CupertinoSlider
- CupertinoSlidingSegmentedControl
- CupertinoSwitch
- CupertinoTabScaffold
- CupertinoTabView
- CupertinoTextField
- CupertinoTextFormFieldRow
- CupertinoTextSelectionToolbarButton
- CupertinoTextSelectionToolbar
- CupertinoTextSelectionControls
- CupertinoTheme
Theme Widgets
- BottomNavigationBarTheme
- MaterialBannerTheme
- CupertinoTheme
- AnimatedTheme
- ButtonBarTheme
- TextButtonTheme
- ElevatedButtonTheme
- OutlinedButtonTheme
- CheckboxTheme
- ChipTheme
- DataTableTheme
- DividerTheme
- ListTileTheme
- NavigationRailTheme
- PopupMenuTheme
- RadioTheme
- ScrollbarTheme
- SliderTheme
- SwitchTheme
- TextSelectionTheme
- TimePickerTheme
- ToggleButtonsTheme
- TooltipTheme
- IconTheme
- DefaultTextHeightBehavior
Actions
- ActionListener
- Actions
- FocusableActionDetector
Assets
- DefaultAssetBundle
Basic
- Directionality
- Opacity
- ShaderMask
- BackdropFilter
- CustomPaint
- ClipRect
- ClipRRect
- ClipOval
- ClipPath
- PhysicalModel
- PhysicalShape
- Transform
- CompositedTransformTarget
- CompositedTransformFollower
- FittedBox
- FractionalTransition
- RotatedBox
- Padding
- Align
- Center
- CustomSingleChildLayout
- LayoutId
- CustomMultiChildLayout
- SizedBox
- ConstrainedBox
- ConstraintsTransformBox
- UnconstrainedBox
- FractionallySizedBox
- LimitedBox
- OverflowBox
- SizedOverflowBox
- Offstage
- AspectRatio
- IntrinsicWidth
- IntrinsicHeight
- Baseline
- Positioned
- PositionedDirectional
- WidgetToRenderBoxAdapter
- Listener
- MouseRegion
- RepaintBoundary
- IgnorePointer
- AbsorbPointer
- MetaData
- KeyedSubtree
- Builder
- StatefulBuilder
- ColoredBox
- ColorFiltered
- Dismissible
- Draggable
- LongPressDraggable
- DragTarget
- DraggableScrollableSheet
- DraggableScrollableActuator
- DualTransitionBuilder
- Focus
- FocusScope
- ExcludeFocus
- GestureDetector
- RawGestureDetector
- ImageFiltered
- InteractiveViewer
- Localizations
- MediaQuery
- ModalBarrier
- Navigator
- NotificationListener
- OrientationBuilder
- OverflowBar
- Overlay
- GlowingOverscrollIndicator
- Router
- KeepAlive
- Spacer
- TextSelectionGestureDetector
- Texture
- Title
- Visibility
Semantics
- Semantics
- MergeSemantics
- BlockSemantics
- ExcludeSemantics
- IndexedSemantics
- SemanticsDebugger
Native
- AndroidView
- UiKitView
- HtmlElementView
- PlatformViewLink
- PlatformViewSurface
- AndroidViewSurface
Miscellaneous Widgets
- Divider
- VerticalDivider
- DropdownButtonHideUnderline
- FlutterLogo
- RefreshIndicator
- TextSelectionToolbarTextButton
- TextSelectionToolbar
- Theme
- Tooltip
- AnnotatedRegion
- WidgetsApp
- AutomaticKeepAlive
- Banner
- CheckedModeBanner
- DefaultTextEditingShortcuts
- DesktopTextSelectionToolbarLayoutDelegate
- ErrorWidget
- RenderObjectToWidgetAdapter
- FocusTraversalOrder
- FocusTraversalGroup
- HeroMode
- HeroControllerScope
- PageStorage
- PerformanceOverlay
- PrimaryScrollController
- RawKeyboardListener
- ReorderableDragStartListener
- ReorderableDelayedDragStartListener
- RestorationScope
- UnmanagedRestorationScope
- RootRestorationScope
- BackButtonListener
- ScrollConfiguration
- Shortcuts
- SizeChangedLayoutNotifier
- TextSelectionToolbarLayoutDelegate
- TickerMode
- ValueListenableBuilder
- WidgetInspector
Abstract Widgets
- ProxyWidget
- StatelessWidget
- StatefulWidget
- ParentDataWidget
- InheritedWidget
- RenderObjectWidget
- LeafRenderObjectWidget
- SingleChildRenderObjectWidget
- MultiChildRenderObjectWidget
- ImplicitlyAnimatedWidget
- InheritedModel
- InheritedNotifier
- InheritedTheme
- ConstrainedLayoutBuilder
- StatusTransitionWidget
- AnimatedWidget
- UniqueWidget

