Class

DeferredTransitionState

A TransitionState that supports a deferred phase before the automatic transition begins.

DeferredTransitionSample

@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
    }
}
Jetpack Compose beyond MaterialFree components, screens and templates for apps that don’t look like Google’s. Copy them into your app, or let your coding agent add them.Browse for free

Content updated: