NavTransition
Describes the animation style used when a screen enters or exits the composition.
Assign these to a Screen or Modal's enterTransition / exitTransition properties. Call resolve to obtain a ResolvedNavTransition with concrete animation lambdas.
object HomeScreen : Screen {
override val route = "home"
override val enterTransition = NavTransition.SlideInRight
override val exitTransition = NavTransition.SlideOutLeft
}Inheritors
Types
Fully custom transition using per-frame transform lambdas.
Cross-fade in — opacity goes from 0 to 1.
Cross-fade out — opacity goes from 1 to 0.
iOS-style push: new screen slides in from the right edge.
iOS-style pop: outgoing screen slides left with a parallax scale-down effect.
Material Design 3 forward enter: slide in from right with subtle scale and fade.
Material Design 3 forward exit: slide out to the left with a trailing fade.
No animation; the screen appears or disappears instantly.
Screen scales up (80 % → 100 %) while fading in.
Screen scales down (100 % → 80 %) while fading out.
Screen slides in from the left edge.
Screen slides in from the right edge.
Screen slides down and exits through the bottom edge.
Screen slides out toward the left edge.
Screen slides out toward the right edge.
Screen slides up from the bottom edge.
Card-stack pop: outgoing screen falls down and fades out.
Card-stack push: new screen rises from the bottom with a scale-up and fade.
Functions
Resolves this NavTransition into a ResolvedNavTransition with concrete per-frame lambdas.