Designing Media Friendly Jetpack Compose Components
summary
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
chapters (11)
- 0:00Introduction
- 1:05Android architecture recap
- 2:11State management in UIs
- 5:20UI logic with Compose state
- 10:17Media-friendly image component
- 12:22Navigation Estate and adaptive nav
- 16:38Shared element transitions
- 22:24Animating video scale
- 27:04Demo: video transitions
- 28:30Compose as best UI toolkit
- 30:57Q&A
related talks
42mJetpack Compose: Art of the State
01h 12mJetpack Compose over inheritance
38mDesigning scalable Compose APIs
39mRe-Compose your UI: building an atomic design library
41mCompose by Example
32mJetpack Compose — Next Gen Kotlin UI Toolkit for Android
49mBuilding an Android UI using declarative programming in Jetpack Compose
21mAnimations with Jetpack Compose
