From 71ad84916693aa33b2acf86bce68571d9aa21e36 Mon Sep 17 00:00:00 2001 From: OneWay Date: Thu, 15 Oct 2026 13:43:13 +0800 Subject: [PATCH] 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 --- .../example/onecamera/navigation/OneCameraNavGraph.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/onecamera/navigation/OneCameraNavGraph.kt b/app/src/main/java/com/example/onecamera/navigation/OneCameraNavGraph.kt index ed1af65..487e47b 100644 --- a/app/src/main/java/com/example/onecamera/navigation/OneCameraNavGraph.kt +++ b/app/src/main/java/com/example/onecamera/navigation/OneCameraNavGraph.kt @@ -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 {