Function

calculateDefaultEnterTransition

Calculates the default EnterTransition of the pane associated to the given role when it's showing.

RevenueCat

RevenueCat

Add subscriptions to your apps in minutes

Ad Get started for free

calculateDefaultEnterTransition

Common
@ExperimentalMaterial3AdaptiveApi
fun <Role : PaneScaffoldRole> PaneScaffoldMotionDataProvider<Role>.calculateDefaultEnterTransition(
    role: Role
) =
    when (this[role].motion) {
        PaneMotion.EnterFromLeft ->
            slideInHorizontally(PaneMotionDefaults.OffsetAnimationSpec) { slideInFromLeftOffset }
        PaneMotion.EnterFromLeftDelayed ->
            slideInHorizontally(PaneMotionDefaults.DelayedOffsetAnimationSpec) {
                slideInFromLeftOffset
            }
        PaneMotion.EnterFromRight ->
            slideInHorizontally(PaneMotionDefaults.OffsetAnimationSpec) { slideInFromRightOffset }
        PaneMotion.EnterFromRightDelayed ->
            slideInHorizontally(PaneMotionDefaults.DelayedOffsetAnimationSpec) {
                slideInFromRightOffset
            }
        PaneMotion.EnterWithExpand -> {
            expandHorizontally(PaneMotionDefaults.SizeAnimationSpec, Alignment.CenterHorizontally) +
                slideInHorizontally(PaneMotionDefaults.OffsetAnimationSpec) {
                    getHiddenPaneCurrentLeft(role) - this[role].targetLeft
                }
        }
        PaneMotion.EnterAsModal -> {
            fadeIn(animationSpec = PaneMotionDefaults.VisibilityAnimationSpec)
        }
        else -> EnterTransition.None
    }

Calculates the default EnterTransition of the pane associated to the given role when it's showing. The PaneMotion and pane measurement data provided by PaneScaffoldMotionDataProvider will be used to decide the transition type and relevant values like sliding offsets.

Parameters

role the role of the pane that is supposed to perform the EnterTransition when showing.