slide-transition-defaults-to-half-a-height

Installation
SKILL.md

Half a height is the default, and it looks like a bug

slideInVertically() with no offset lambda does not slide in from off-screen. It slides in from half its own height — so the element is already halfway to its resting place on the first frame, and the eye reads the missing half as a jump. The same default sits on the exit.

// adapted — one pair, imported by every screen that has this control
val BarEnter: EnterTransition =
    fadeIn(tween(durationMillis = 180, easing = FastOutSlowInEasing)) +
        slideInVertically(tween(durationMillis = 260, easing = FastOutSlowInEasing)) { -it }

/** Leaving is quicker than arriving: a control being dismissed should not hold the eye. */
val BarExit: ExitTransition =
    fadeOut(tween(durationMillis = 140, easing = FastOutSlowInEasing)) +
        slideOutVertically(tween(durationMillis = 200, easing = FastOutSlowInEasing)) { -it }

Traps

Installs
2
GitHub Stars
35
First Seen
5 days ago
slide-transition-defaults-to-half-a-height — maxrave-dev/kotlin-footguns