“material”
Card Widget Patterns in Flutter: Elevated Surfaces Done Right
Use Flutter's Card widget for lists, dashboards, and content surfaces with elevation, shape, and ink handling done right.
CircularProgressIndicator in Flutter: Spinners, Arcs, and Semantics
Use Flutter's CircularProgressIndicator for centered loading states, determinate arcs, custom strokes, and accessible spinners.
Date and Time Pickers in Flutter: showDatePicker and showTimePicker
Pick dates and times in Flutter with showDatePicker, showTimePicker, initial values, validation, and Material 3 theming.
ExpansionTile and ExpansionPanel in Flutter: Disclosure Widgets Compared
ExpansionTile for list-section disclosure, ExpansionPanel for grouped settings, controlling expansion programmatically, animation gotchas, and accessibility considerations.
LinearProgressIndicator in Flutter: Showing Progress Across a Width
Use Flutter's LinearProgressIndicator for determinate and indeterminate loading bars with custom colors, minHeight, and semantics.
ListTile Patterns in Flutter: The Row That Powers Every List
ListTile anatomy — leading, title, subtitle, trailing — density and three-line variants, tap handling with InkWell, and when to build a custom row instead.
PopupMenuButton Patterns in Flutter: Overflow Menus Done Right
PopupMenuButton vs PopupMenu, itemBuilder contracts, onSelected and onCanceled, initialValue checks, and the menu-button pattern desktop apps expect.
ScaffoldMessenger in Flutter: SnackBars That Survive Navigation
How ScaffoldMessenger.of(context).showSnackBar works, why it replaced Scaffold.of, hideCurrentSnackBar queueing, and patterns for Undo actions and route changes.
DataTable in Flutter: Sorting, Selection, and Styling Tabular Data
Use Flutter's DataTable for sortable, selectable tabular data — plus when to switch to DataTableSource and how to style and scroll it correctly.
Bottom Sheets in Flutter: showModalBottomSheet Patterns Done Right
Modal and persistent bottom sheets done right: full-height layouts, drag handles, safe areas, keyboard-aware forms, and awaited results.
CarouselView in Flutter: Infinite Scrolling and State Callbacks
A hands-on guide to Flutter's Material CarouselView: weighted layouts, snapping, the new infinite looping mode, and tracking the leading item with onIndexChanged and CarouselController.
VisualDensity for Adaptive UI in Flutter
Use VisualDensity to make Flutter widgets automatically adapt their spacing and size based on the input method — touch vs pointer devices.