ExitTransitionSchema

@Serializable
sealed interface ExitTransitionSchema

Exit transition applied when a screen or animated content leaves the composition.

Multiple variants can coexist in ContentTransitionSchema.exit — they are combined with the + operator to run simultaneously (e.g. fade + slide).

Variants:

  • FadeOutfadeOut(animationSpec, targetAlpha). Default: alpha 1f → 0f over 300ms.

  • SlideOutHorizontallyslideOutHorizontally(animationSpec, targetOffsetX). Default offset: OffsetType.NegativeFull (slides out to the left).

  • SlideOutVerticallyslideOutVertically(animationSpec, targetOffsetY). Default offset: OffsetType.NegativeFull (slides out upward).

  • KeepUntilTransitionsFinishedcurrently maps to ExitTransition.None in the client (AnimationSchemaExtensions). The TODO comment indicates this should use ExitTransition.KeepUntilTransitionsFinished once it becomes stable public API.

  • NoneExitTransition.None (no animation).

How OffsetType maps to pixel offset (lambda { fullSize }):

Inheritors

Types

Link copied to clipboard
@Serializable
@SerialName(value = "fadeOut")
data class FadeOut(val animationSpec: AnimationSpecSchema = AnimationSpecSchema.Tween(), val targetAlpha: Float = 0.0f) : ExitTransitionSchema
Link copied to clipboard
@Serializable
@SerialName(value = "keepUntilTransitionsFinished")
data object KeepUntilTransitionsFinished : ExitTransitionSchema
Link copied to clipboard
@Serializable
@SerialName(value = "noneExit")
data object None : ExitTransitionSchema
Link copied to clipboard
@Serializable
@SerialName(value = "slideOutHorizontally")
data class SlideOutHorizontally(val animationSpec: AnimationSpecSchema = AnimationSpecSchema.Tween(), val targetOffset: OffsetType = OffsetType.NegativeFull) : ExitTransitionSchema
Link copied to clipboard
@Serializable
@SerialName(value = "slideOutVertically")
data class SlideOutVertically(val animationSpec: AnimationSpecSchema = AnimationSpecSchema.Tween(), val targetOffset: OffsetType = OffsetType.NegativeFull) : ExitTransitionSchema