From 4d047247f167c316c8ec92522ef94c4741235b89 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Wed, 24 Apr 2024 17:23:28 +0800 Subject: [PATCH] Refactor(Animation): Optimize navigation switch animation Optimize AboutNavigation and LibrariesNavigation switch animation --- .../oxygen/toolbox/navigation/AboutNavigation.kt | 15 +++++---------- .../toolbox/navigation/LibrariesNavigation.kt | 15 +++++---------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/AboutNavigation.kt b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/AboutNavigation.kt index ebc527d..22a052e 100644 --- a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/AboutNavigation.kt +++ b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/AboutNavigation.kt @@ -1,7 +1,7 @@ package top.fatweb.oxygen.toolbox.navigation -import androidx.compose.animation.scaleIn -import androidx.compose.animation.slideOutVertically +import androidx.compose.animation.slideInHorizontally +import androidx.compose.animation.slideOutHorizontally import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions @@ -20,16 +20,11 @@ fun NavGraphBuilder.aboutScreen( composable( route = ABOUT_ROUTE, enterTransition = { - scaleIn() - }, - exitTransition = { - slideOutVertically { it } - }, - popEnterTransition = { - scaleIn() + slideInHorizontally(initialOffsetX = { fullWidth -> fullWidth }) }, + popEnterTransition = null, popExitTransition = { - slideOutVertically { it } + slideOutHorizontally(targetOffsetX = { fullWidth -> fullWidth }) } ) { AboutRoute( diff --git a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/LibrariesNavigation.kt b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/LibrariesNavigation.kt index f05aaf2..40d6a48 100644 --- a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/LibrariesNavigation.kt +++ b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/navigation/LibrariesNavigation.kt @@ -1,7 +1,7 @@ package top.fatweb.oxygen.toolbox.navigation -import androidx.compose.animation.scaleIn -import androidx.compose.animation.scaleOut +import androidx.compose.animation.slideInHorizontally +import androidx.compose.animation.slideOutHorizontally import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.NavOptions @@ -19,16 +19,11 @@ fun NavGraphBuilder.librariesScreen( composable( route = LIBRARIES_ROUTE, enterTransition = { - scaleIn() - }, - exitTransition = { - scaleOut() - }, - popEnterTransition = { - scaleIn() + slideInHorizontally(initialOffsetX = { fullWidth -> fullWidth }) }, + popEnterTransition = null, popExitTransition = { - scaleOut() + slideOutHorizontally(targetOffsetX = { fullWidth -> fullWidth }) } ) { LibrariesRoute(onBackClick = onBackClick)