Drag and Drop in Compose!
summary
Two years of work distill into a practical migration: built a lazy-column rearrange for Compose that shipped on millions of Trello users, first with a pointer input method (pointerInput + graphicsLayer + visibleItemsInfo) that handled long-press drag, rearrange-by-midpoint and visual tweaks but clipped when dragging outside parent and broke for offscreen tall items. Reworked to use Compose 1.6 drag and drop source / target APIs with a simplified drag drop state, fixed ghost duplication and global coords, now working but limited by targets needing composition at drag start and tight ghost-canvas sizing.
AI-written summary · about
chapters (9)
- 0:00Drag and drop in Compose
- 1:04What drag and drop is
- 2:05Why Compose for drag and drop
- 3:32Pointer input method
- 6:59Pointer input merits and pitfalls
- 8:44Compose 1.6 APIs approach
- 11:33New APIs improvements
- 12:15Forward-thinking improvements
- 14:00Closing and resources








