File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed
app/src/main/kotlin/com/ninecraft/booket/di Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ abstract class CircuitModule {
2828 ): Circuit = Circuit .Builder ()
2929 .addPresenterFactories(presenterFactories)
3030 .addUiFactories(uiFactories)
31+ // .setAnimatedNavDecoratorFactory(CrossFadeNavDecoratorFactory())
3132 .build()
3233 }
3334}
Original file line number Diff line number Diff line change 1+ package com.ninecraft.booket.di
2+
3+ import androidx.compose.animation.AnimatedContentTransitionScope
4+ import androidx.compose.animation.ContentTransform
5+ import androidx.compose.animation.core.tween
6+ import androidx.compose.animation.fadeIn
7+ import androidx.compose.animation.fadeOut
8+ import androidx.compose.animation.togetherWith
9+ import com.slack.circuit.backstack.NavArgument
10+ import com.slack.circuit.foundation.NavigatorDefaults
11+ import com.slack.circuit.foundation.animation.AnimatedNavDecorator
12+ import com.slack.circuit.foundation.animation.AnimatedNavEvent
13+ import com.slack.circuit.foundation.animation.AnimatedNavState
14+
15+ data class CrossFadeNavDecoratorFactory (val durationMillis : Int = 300 ) :
16+ AnimatedNavDecorator .Factory {
17+ override fun <T : NavArgument > create (): AnimatedNavDecorator <T , * > =
18+ CrossFadeNavDecorator (durationMillis)
19+ }
20+
21+ class CrossFadeNavDecorator <T : NavArgument >(private val durationMillis : Int ) :
22+ AnimatedNavDecorator <T , NavigatorDefaults .DefaultDecorator .DefaultAnimatedState <T >> by NavigatorDefaults .DefaultDecorator <T >() {
23+
24+ override fun AnimatedContentTransitionScope<AnimatedNavState>.transitionSpec (
25+ animatedNavEvent : AnimatedNavEvent ,
26+ ): ContentTransform {
27+ return fadeIn(tween(durationMillis)) togetherWith fadeOut(tween(durationMillis))
28+ }
29+ }
You can’t perform that action at this time.
0 commit comments