Motional intelligence: Build smarter animations
summary
Explains concrete techniques to make state-driven UI animations reliable: three requirements are reentrant continuous smooth. Recommends Android APIs and patterns—ViewPropertyAnimator for safe cancelation, SpringAnimation with animateToFinalPosition and view‑tagged extension helpers to retain and retarget running springs, AnimatedStateListDrawable and StateListAnimator for drawable/view state transitions, and a single progress property for custom views. Shows a RecyclerView ItemAnimator and the Google I/O booking button implemented this way and reports noticeably smoother, interruptible, and correct animations.
AI-written summary · about
chapters (26)
- 0:00Intro
- 0:56Why animations matter
- 3:57UI model
- 5:22Reentrant
- 6:00Continuous
- 6:49Smoothness
- 7:39Code
- 9:25Cancel animation
- 10:57Stutter change
- 12:50Spring
- 15:19End listeners
- 16:27Springs
- 17:36RecyclerView item animator
- 18:43Default item animator
- 19:16Stateless drawable
- 21:16Reservation button
- 21:49Custom states
- 23:26Creating drawable states
- 23:46Intermediary states
- 24:59AnimatedVectorDrawable
- 25:29AnimateStateless
- 26:13StateListAnimator
- 26:33StatelessAnimator
- 27:20StatelessAnimator Score
- 28:29Custom View Animation
- 30:43Conclusion
related talks
35mMotional Intelligence: Build smarter animations
25mGet It Running
40mGet animated
41mA Moving Experience
31mAnimate Me, If You Don't Do It for Me Do It for Chet
31mI like to move it, move it
53mBuilding smarter animations with Kotlin Delegates and Dynamic animations
38mIn a World of Pure Android Animation 🍭🍫
