~/talk

Designing Media Friendly Jetpack Compose Components

Talkat droidcon New York 2024 · 2024-09-19..09-20· [component-design, android]
links:none on file
slides:none on file

Demo shows concrete techniques for media UIs in Jetpack Compose: use compose snapshot mutable state in the UI layer, keep reactive push (Flow/Rx) in the data layer, and animate contentScale with remember + animate APIs to avoid allocations. Examples: Coil works with mutable snapshots, Glide’s Compose bridge fails because it skips snapshot state, and a movable shared element approach moves composables (and ViewModel state) between destinations so video via ExoPlayer keeps playing with no object allocation and no rebuffering.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05Android architecture recap
  3. 2:11State management in UIs
  4. 5:20UI logic with Compose state
  5. 10:17Media-friendly image component
  6. 12:22Navigation Estate and adaptive nav
  7. 16:38Shared element transitions
  8. 22:24Animating video scale
  9. 27:04Demo: video transitions
  10. 28:30Compose as best UI toolkit
  11. 30:57Q&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.