```fun fadeThroughAnimator( animationSpec: Fin...
# decompose
u
Copy code
fun fadeThroughAnimator(
    animationSpec: FiniteAnimationSpec<Float> = tween(220),
    minAlpha: Float = 0f,
    minScale: Float = 0.92f,
): StackAnimator = stackAnimator(animationSpec = animationSpec) { factor, direction, content ->

    if (direction.isEnter) {
        val alpha = getFadeAlpha(factor, minAlpha)
        val scale = 1f - abs(factor) * (1f - minScale)

        content(
            Modifier
                .alpha(alpha)
                .scale(scale)
        )
    }
}

//....
 Scaffold(...
 content = { innerPadding ->
            Children(
                modifier = Modifier.fillMaxSize().padding(innerPadding),
                stack = stack,
                animation = stackAnimation(fadeThroughAnimator())
            ) { child ->

Hi Arkadii, I'm facing a small issue... the fadeThroughAnimator animation works just as I want, but it doesn't keep the screen state. How can I fix that?
a
The animator only calls
content
under a condition. It should be always called. You can refer to the predefined animators in the library.