Skip to content

Commit

Permalink
Expand TopBar when Navigate to HomeScreen from PopularScreen
Browse files Browse the repository at this point in the history
  • Loading branch information
jhg3410 committed Jul 6, 2023
1 parent cd0c63d commit 82c824d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 5 deletions.
5 changes: 3 additions & 2 deletions app/src/main/java/com/jik/movie/navigation/MovieNavHost.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,15 @@ import com.jik.feature.popular.navigation.PopularNavigation.installPopularScreen
fun MovieNavHost(
navController: NavHostController,
modifier: Modifier = Modifier,
startDestination: String = HomeNavigation.route
startDestination: String = HomeNavigation.route,
ExpandTopBar: @Composable () -> Unit,
) {
NavHost(
navController = navController,
startDestination = startDestination,
modifier = modifier
) {
installHomeScreen()
installHomeScreen(ExpandTopBar)
installPopularScreen(navController)
installDetailScreen()
}
Expand Down
11 changes: 9 additions & 2 deletions app/src/main/java/com/jik/movie/ui/MovieApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,19 @@ fun MovieApp() {
) {
val topPadding = it.calculateTopPadding()
val bottomPadding = it.calculateBottomPadding()

MovieNavHost(
navController = appState.navController, modifier = Modifier.padding(
navController = appState.navController,
modifier = Modifier.padding(
top = topPadding,
bottom = if (appState.isTopLevelDestination && bottomPadding > 0.dp) bottomPadding - NavigationBarCornerSize
else bottomPadding
)
),
ExpandTopBar = {
if (scrollBehavior.state.heightOffset < 0.0) {
scrollBehavior.state.heightOffset = 0f
}
}
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package com.jik.feature.home.navigation

import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
Expand All @@ -18,10 +19,13 @@ object HomeNavigation {
navigate(route, navOptions)
}

fun NavGraphBuilder.installHomeScreen() {
fun NavGraphBuilder.installHomeScreen(
ExpandTopBar: @Composable () -> Unit,
) {
composable(
route = HomeNavigation.route
) {
ExpandTopBar()
HomeScreen()
Spacer(modifier = Modifier.padding(bottom = NavigationBarCornerSize))
}
Expand Down

0 comments on commit 82c824d

Please sign in to comment.