Add slide transitions
This commit is contained in:
parent
c5f3e5b766
commit
7f20dce446
2 changed files with 13 additions and 11 deletions
|
@ -1,9 +1,7 @@
|
|||
package it.vfsfitvnm.vimusic.ui.screens
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.compose.animation.AnimatedContentScope
|
||||
import androidx.compose.animation.ExperimentalAnimationApi
|
||||
import androidx.compose.animation.with
|
||||
import androidx.compose.foundation.*
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.*
|
||||
|
@ -17,9 +15,7 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import it.vfsfitvnm.route.Route0
|
||||
import it.vfsfitvnm.route.RouteHandler
|
||||
import it.vfsfitvnm.route.fastFade
|
||||
import it.vfsfitvnm.route.*
|
||||
import it.vfsfitvnm.vimusic.R
|
||||
import it.vfsfitvnm.vimusic.ui.components.TopAppBar
|
||||
import it.vfsfitvnm.vimusic.ui.components.themed.EnumValueSelectorDialog
|
||||
|
@ -47,13 +43,9 @@ fun SettingsScreen() {
|
|||
listenToGlobalEmitter = true,
|
||||
transitionSpec = {
|
||||
when (targetState.route) {
|
||||
appearanceRoute, backupAndRestoreRoute ->
|
||||
slideIntoContainer(AnimatedContentScope.SlideDirection.Left) with
|
||||
slideOutOfContainer(AnimatedContentScope.SlideDirection.Left)
|
||||
appearanceRoute, backupAndRestoreRoute -> leftSlide
|
||||
else -> when (initialState.route) {
|
||||
appearanceRoute, backupAndRestoreRoute ->
|
||||
slideIntoContainer(AnimatedContentScope.SlideDirection.Right) with
|
||||
slideOutOfContainer(AnimatedContentScope.SlideDirection.Right)
|
||||
appearanceRoute, backupAndRestoreRoute -> rightSlide
|
||||
else -> fastFade
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,16 @@ import androidx.compose.animation.*
|
|||
import androidx.compose.animation.core.tween
|
||||
|
||||
|
||||
@ExperimentalAnimationApi
|
||||
val AnimatedContentScope<RouteHandlerScope>.leftSlide: ContentTransform
|
||||
get() = slideIntoContainer(AnimatedContentScope.SlideDirection.Left) with
|
||||
slideOutOfContainer(AnimatedContentScope.SlideDirection.Left)
|
||||
|
||||
@ExperimentalAnimationApi
|
||||
val AnimatedContentScope<RouteHandlerScope>.rightSlide: ContentTransform
|
||||
get() = slideIntoContainer(AnimatedContentScope.SlideDirection.Right) with
|
||||
slideOutOfContainer(AnimatedContentScope.SlideDirection.Right)
|
||||
|
||||
@ExperimentalAnimationApi
|
||||
val AnimatedContentScope<RouteHandlerScope>.fastFade: ContentTransform
|
||||
get() = fadeIn(tween(200)) with fadeOut(tween(200))
|
||||
|
|
Loading…
Reference in a new issue