~/talk

Mastering Custom Slivers in Flutter

Talkat Fluttercon USA 2024 · 2024-09-19..09-20· [frontend-architecture]
slides:none on file

Builds a working SliverExpansionTile implemented with the RenderSliver API, extending MultiChildRenderObjectWidget and a custom RenderSliver that overrides performLayout and paint, plus setupParentData and applyPaintTransform. Uses an AnimationController tied to a copied custom sliver expansion tile controller, a TapGestureRecognizer for taps, per-child parentData offsets, border-radius clipping and a rotation transition for the trailing arrow. Demo runs inside a CustomScrollView, floating action buttons programmatically expand/collapse, and the widget behaves as expected in the demo.

AI-written summary · about

  1. 0:00Custom slivers in Flutter
  2. 1:06Flutter rendering system
  3. 2:13Extending render objects
  4. 3:37Sliver expansion tile demo
  5. 5:43Render sliver class
  6. 7:10Managing children data
  7. 8:41Sliver constraints
  8. 10:04Sliver geometry
  9. 11:32Laying out children in performLayout
  10. 14:05Painting children
  11. 16:17Coordinate transforms
  12. 17:00Testing children
  13. 17:43Touch events
  14. 18:46Custom controller
  15. 20:54Stateful wrapper
  16. 21:57Final sliver expansion tile
  17. 23:07Using custom sliver
  18. 24:15Final result demo
  19. 25:38Closing & Q&A
~/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.