Remove the brightness dip in screen transition crossfades

- Fading the outgoing and incoming screens simultaneously makes content
  present on both (the camera FAB) dip to ~75% opacity mid-transition
- Fade only one layer: hold the outgoing destination opaque under the
  fading-in incoming one, and reveal the destination instantly under the
  fading-out one on back
This commit is contained in:
OneWay authored and Evgenii committed 2026-10-15 13:50:31 +08:00
1 parent 761db7a69d
commit 71ad849166
1 file changed
+8 -2
@@ -67,8 +67,14 @@ fun OneCameraNavGraph(navController: NavHostController) {
navController = navController,
startDestination = FoldersRoute,
enterTransition = { if (transitionsEnabled) fadeIn(tween(250)) else EnterTransition.None },
exitTransition = { if (transitionsEnabled) fadeOut(tween(250)) else ExitTransition.None },
popEnterTransition = { if (transitionsEnabled) fadeIn(tween(250)) else EnterTransition.None },
exitTransition = {
if (transitionsEnabled) {
ExitTransition.KeepUntilTransitionsFinished
} else {
ExitTransition.None
}
},
popEnterTransition = { EnterTransition.None },
popExitTransition = { if (transitionsEnabled) fadeOut(tween(250)) else ExitTransition.None },
) {
composable<FoldersRoute> {