Skip to content

Commit eb6e5f7

Browse files
authored
Disable default screen animation on desktop and web (#2679)
Replace default transition specs with `EnterTransition.None` and `ExitTransition.None` on desktop and web platforms. Fixes https://youtrack.jetbrains.com/issue/CMP-9507 ## Release Notes N/A
1 parent 6a63c9e commit eb6e5f7

File tree

3 files changed

+24
-33
lines changed

3 files changed

+24
-33
lines changed

navigation3/navigation3-ui/src/desktopMain/kotlin/androidx/navigation3/ui/NavDisplay.desktop.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,31 @@ package androidx.navigation3.ui
2121

2222
import androidx.compose.animation.AnimatedContentTransitionScope
2323
import androidx.compose.animation.ContentTransform
24-
import androidx.compose.animation.core.tween
25-
import androidx.compose.animation.fadeIn
26-
import androidx.compose.animation.fadeOut
24+
import androidx.compose.animation.EnterTransition
25+
import androidx.compose.animation.ExitTransition
2726
import androidx.navigation3.scene.Scene
2827
import androidx.navigationevent.NavigationEvent.SwipeEdge
2928

30-
private const val DEFAULT_TRANSITION_DURATION_MILLISECOND = 700
31-
3229
public actual fun <T : Any> defaultTransitionSpec():
3330
AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform = {
3431
ContentTransform(
35-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
36-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
32+
EnterTransition.None,
33+
ExitTransition.None,
3734
)
3835
}
3936

4037
public actual fun <T : Any> defaultPopTransitionSpec():
4138
AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform = {
4239
ContentTransform(
43-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
44-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
40+
EnterTransition.None,
41+
ExitTransition.None,
4542
)
4643
}
4744

4845
public actual fun <T : Any> defaultPredictivePopTransitionSpec():
4946
AnimatedContentTransitionScope<Scene<T>>.(@SwipeEdge Int) -> ContentTransform = {
5047
ContentTransform(
51-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
52-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
48+
EnterTransition.None,
49+
ExitTransition.None,
5350
)
5451
}

navigation3/navigation3-ui/src/macosMain/kotlin/androidx/navigation3/ui/NavDisplay.macos.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,31 @@ package androidx.navigation3.ui
1818

1919
import androidx.compose.animation.AnimatedContentTransitionScope
2020
import androidx.compose.animation.ContentTransform
21-
import androidx.compose.animation.core.tween
22-
import androidx.compose.animation.fadeIn
23-
import androidx.compose.animation.fadeOut
21+
import androidx.compose.animation.EnterTransition
22+
import androidx.compose.animation.ExitTransition
2423
import androidx.navigation3.scene.Scene
2524
import androidx.navigationevent.NavigationEvent.SwipeEdge
2625

27-
private const val DEFAULT_TRANSITION_DURATION_MILLISECOND = 700
28-
2926
public actual fun <T : Any> defaultTransitionSpec():
3027
AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform = {
3128
ContentTransform(
32-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
33-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
29+
EnterTransition.None,
30+
ExitTransition.None,
3431
)
3532
}
3633

3734
public actual fun <T : Any> defaultPopTransitionSpec():
3835
AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform = {
3936
ContentTransform(
40-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
41-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
37+
EnterTransition.None,
38+
ExitTransition.None,
4239
)
4340
}
4441

4542
public actual fun <T : Any> defaultPredictivePopTransitionSpec():
4643
AnimatedContentTransitionScope<Scene<T>>.(@SwipeEdge Int) -> ContentTransform = {
4744
ContentTransform(
48-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
49-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
45+
EnterTransition.None,
46+
ExitTransition.None,
5047
)
5148
}

navigation3/navigation3-ui/src/webMain/kotlin/androidx/navigation3/ui/NavDisplay.web.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,31 @@ package androidx.navigation3.ui
1818

1919
import androidx.compose.animation.AnimatedContentTransitionScope
2020
import androidx.compose.animation.ContentTransform
21-
import androidx.compose.animation.core.tween
22-
import androidx.compose.animation.fadeIn
23-
import androidx.compose.animation.fadeOut
21+
import androidx.compose.animation.EnterTransition
22+
import androidx.compose.animation.ExitTransition
2423
import androidx.navigation3.scene.Scene
2524
import androidx.navigationevent.NavigationEvent.SwipeEdge
2625

27-
private const val DEFAULT_TRANSITION_DURATION_MILLISECOND = 700
28-
2926
public actual fun <T : Any> defaultTransitionSpec():
3027
AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform = {
3128
ContentTransform(
32-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
33-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
29+
EnterTransition.None,
30+
ExitTransition.None,
3431
)
3532
}
3633

3734
public actual fun <T : Any> defaultPopTransitionSpec():
3835
AnimatedContentTransitionScope<Scene<T>>.() -> ContentTransform = {
3936
ContentTransform(
40-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
41-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
37+
EnterTransition.None,
38+
ExitTransition.None,
4239
)
4340
}
4441

4542
public actual fun <T : Any> defaultPredictivePopTransitionSpec():
4643
AnimatedContentTransitionScope<Scene<T>>.(@SwipeEdge Int) -> ContentTransform = {
4744
ContentTransform(
48-
fadeIn(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
49-
fadeOut(animationSpec = tween(DEFAULT_TRANSITION_DURATION_MILLISECOND)),
45+
EnterTransition.None,
46+
ExitTransition.None,
5047
)
5148
}

0 commit comments

Comments
 (0)