Start native apps faster with the Composables CLI ->
Composable Function

rememberDeferredTransition

Creates and remembers a DeferredTransition for a given DeferredTransitionState.

DeferredTransitionSample

@OptIn(ExperimentalDeferredTransitionApi::class)
@Sampled
@Composable
fun DeferredTransitionSample() {
    var targetState by remember { mutableStateOf("Initial") }
    var isDeferred by remember { mutableStateOf(false) }

    // Create a DeferredTransitionState
    val transitionState = remember { DeferredTransitionState(targetState) }

    // Use LaunchedEffect to handle defer/animateTo logic based on some external signal
    // (e.g. gesture progress, predictive back events, etc).
    LaunchedEffect(targetState, isDeferred) {
        if (isDeferred) {
            // Enter deferred phase: targetState is updated as a pendingTargetState
            // but animations don't start yet.
            transitionState.defer(targetState)
        } else {
            // Start automatic transition: pendingTargetState is cleared and targetState is updated
            // to trigger animations.
            transitionState.animateTo(targetState)
        }
    }

    val transition = rememberDeferredTransition(transitionState)
    // Create animations as usual
    val alpha by transition.animateFloat { state -> if (state == "Initial") 0f else 1f }

    Box(Modifier.graphicsLayer { this.alpha = alpha }) {
        // Content
    }
}