~/talk

The Curious Case of Android Gesture Animation

Talkat droidcon Berlin 2022 · 2022-07-06..07-08· [web-animation, android]
slides:none on file

Implements a stretchy, sticky square that snaps to top or bottom using ViewDragHelper with clampViewPositionVertical and settleCapturedViewAt for smooth settling; Android drag‑and‑drop is rejected because it only shows a drag shadow. Uses spring/dynamic animations (androidx.core.animation or ObjectAnimator/AnimatorSet) to restore scale, y offset and a stretch factor; Jetpack Compose version uses rememberDraggableState, draggable modifier and updateTransition and cuts the imperative touch plumbing to about five lines while preserving the bounce and fixing flicker.

AI-written summary · about

  1. 0:00Introduction and overview
  2. 1:51Stretchable square setup
  3. 2:56Android drag and drop framework
  4. 5:02View drag helper implementation
  5. 7:12Jetpack Compose dragable basics
  6. 8:17Smooth settling with settle capture
  7. 9:19Making the square stretchable
  8. 10:21Stuck and unstuck states
  9. 12:28Flipping and dynamic animation
  10. 13:32Fixing flip at bottom
  11. 14:14Dynamic animation basics
  12. 15:16Spring animation for bounce
  13. 16:20Jetpack Compose update transition
  14. 18:55Comparison and summary
~/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.