Вот мой реализованный навигационный хост,
Код: Выделить всё
AndroidNavigationTheme {
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = HomeScreen,
){
composable{
HomeScreen(
onClickGoAboutScreen = {
navController.navigate(AboutScreen)
}
)
}
composable{
AboutScreen(
onClickGoContentScreen = {
navController.navigate(ContentScreen)
}
)
}
composable{
ContentScreen(
onClickGoHomeScreen = {
navController.navigate(HomeScreen)
}
)
}
}
}
@Serializable
object HomeScreen
@Serializable
object AboutScreen
@Serializable
object ContentScreen
Код: Выделить всё
fun scaleIntoContainer(
direction: ScaleTransitionDirection = ScaleTransitionDirection.INWARDS,
initialScale: Float = if (direction == ScaleTransitionDirection.OUTWARDS) 0.9f else 1.1f
): EnterTransition {
return scaleIn(
animationSpec = tween(220, delayMillis = 90),
initialScale = initialScale
) + fadeIn(animationSpec = tween(220, delayMillis = 90))
}
fun scaleOutOfContainer(
direction: ScaleTransitionDirection = ScaleTransitionDirection.OUTWARDS,
targetScale: Float = if (direction == ScaleTransitionDirection.INWARDS) 0.9f else 1.1f
): ExitTransition {
return scaleOut(
animationSpec = tween(
durationMillis = 220,
delayMillis = 90
), targetScale = targetScale
) + fadeOut(tween(delayMillis = 90))
}
enum class ScaleTransitionDirection {
INWARDS,
OUTWARDS
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... ndroid-app