~/talk

The Art of Responsive Modals: Building a Multi-Page Sheet in Flutter

Talkat Fluttercon Europe 2023 · 2023-07-05..07-07· [frontend-architecture, flutter]
slides:none on file

Multi page bottom sheets are implemented as an open source package on popdev that toggles between dialog on wide screens and bottom sheet on small screens, supports scrollable pages with a sticky top bar and sticky action bar, and survives keyboard pushes by using a Scaffold. Navigation works declaratively with Navigator 2 or imperatively, pages animate with a staggered AnimatedSwitcher sequence, hero image motion scales from 1.1 to 1 with fading midpoint, layout uses a custom MultiChildLayout and Flow delegates and measures outgoing pages offstage to compute animated size changes.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 2:10What is a modal sheet
  3. 3:57Multi-page sheet use cases
  4. 5:22Design checklist for sheets
  5. 6:48Introducing the open source package
  6. 7:31Responsive layout options
  7. 8:11Multi-page sheet features
  8. 9:36Navigation 2.0 support
  9. 10:23Motion design fundamentals
  10. 12:11Why motion design matters
  11. 13:36Scrolling motion examples
  12. 14:40Pagination motion examples
  13. 15:21Development architecture overview
  14. 17:05Root and overlay concepts
  15. 18:29Custom multi-child layout
  16. 19:54Layout delegate implementation
  17. 21:19Motion specs for developers
  18. 22:05Hero image animation specs
  19. 23:10Flow widget for painting
  20. 23:51Pagination animation setup
  21. 25:19Animated switcher implementation
  22. 26:46Offstage widget for size changes
  23. 27:31Conclusion and thanks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.