From 199211fdbf701ade4897a5ba80c09f057c728696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BChlbauer?= Date: Tue, 13 Aug 2024 21:13:11 +0200 Subject: [PATCH] Switch to sliding navigation animation (#2527) --- app/src/main/AndroidManifest.xml | 3 ++- .../dev/patrickgold/florisboard/app/Routes.kt | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f3fc2cbf..103bbe54 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -42,10 +42,11 @@ android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/floris_app_icon" android:label="@string/floris_app_name" + android:enableOnBackInvokedCallback="true" android:roundIcon="@mipmap/floris_app_icon_round" android:supportsRtl="true" android:theme="@style/FlorisAppTheme" - tools:targetApi="s"> + tools:targetApi="tiramisu"> diff --git a/app/src/main/kotlin/dev/patrickgold/florisboard/app/Routes.kt b/app/src/main/kotlin/dev/patrickgold/florisboard/app/Routes.kt index da280254..9eaa1630 100644 --- a/app/src/main/kotlin/dev/patrickgold/florisboard/app/Routes.kt +++ b/app/src/main/kotlin/dev/patrickgold/florisboard/app/Routes.kt @@ -17,8 +17,13 @@ package dev.patrickgold.florisboard.app import androidx.compose.animation.AnimatedContentScope +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.slideIn +import androidx.compose.animation.slideOut import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.IntOffset import androidx.navigation.NavBackStackEntry import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController @@ -174,6 +179,18 @@ object Routes { modifier = modifier, navController = navController, startDestination = startDestination, + enterTransition = { + slideIn { IntOffset(it.width, 0) } + fadeIn() + }, + exitTransition = { + slideOut { IntOffset(-it.width, 0) } + fadeOut() + }, + popEnterTransition = { + slideIn { IntOffset(-it.width, 0) } + fadeIn() + }, + popExitTransition = { + slideOut { IntOffset(it.width, 0) } + fadeOut() + } ) { composable(Setup.Screen) { SetupScreen() }