mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-05-29 04:50:15 +02:00
feat: navigation transitions
This commit is contained in:
parent
6cabb92c04
commit
cb301f8a42
@ -1,6 +1,9 @@
|
||||
package me.rhunk.snapenhance.ui.manager
|
||||
|
||||
import androidx.compose.animation.core.animateFloatAsState
|
||||
import androidx.compose.animation.core.tween
|
||||
import androidx.compose.animation.fadeIn
|
||||
import androidx.compose.animation.fadeOut
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
@ -44,7 +47,13 @@ class Navigation(
|
||||
startDestination: EnumSection,
|
||||
innerPadding: PaddingValues
|
||||
) {
|
||||
NavHost(navHostController, startDestination = startDestination.route, Modifier.padding(innerPadding)) {
|
||||
NavHost(
|
||||
navHostController,
|
||||
startDestination = startDestination.route,
|
||||
Modifier.padding(innerPadding),
|
||||
enterTransition = { fadeIn(tween(200)) },
|
||||
exitTransition = { fadeOut(tween(200)) }
|
||||
) {
|
||||
sections.forEach { (_, instance) ->
|
||||
instance.navController = navHostController
|
||||
instance.build(this)
|
||||
|
@ -1,6 +1,8 @@
|
||||
package me.rhunk.snapenhance.ui.manager.sections.features
|
||||
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.compose.animation.AnimatedContentTransitionScope
|
||||
import androidx.compose.animation.core.tween
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@ -150,7 +152,11 @@ class FeaturesSection : Section() {
|
||||
Container(context.config.root)
|
||||
}
|
||||
|
||||
composable(FEATURE_CONTAINER_ROUTE) { backStackEntry ->
|
||||
composable(FEATURE_CONTAINER_ROUTE, enterTransition = {
|
||||
slideIntoContainer(AnimatedContentTransitionScope.SlideDirection.Left, animationSpec = tween(100))
|
||||
}, exitTransition = {
|
||||
slideOutOfContainer(AnimatedContentTransitionScope.SlideDirection.Right, animationSpec = tween(300))
|
||||
}) { backStackEntry ->
|
||||
backStackEntry.arguments?.getString("name")?.let { containerName ->
|
||||
allContainers[containerName]?.let {
|
||||
Container(it.value.get() as ConfigContainer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user