Emirhan Emmez
08/30/2023, 12:02 PM@Composable
_fun_ MainScreen() {
_val_ navController = rememberNavController()
Navigation(navController = navController)
}
@Composable
_fun_ Navigation(
navController: NavHostController
) {
NavHost(
navController = navController,
startDestination = _homeRoute_,
enterTransition = *{* EnterTransition.None *}*,
exitTransition = *{* ExitTransition.None *}*,
popEnterTransition = *{* EnterTransition.None *}*,
popExitTransition = *{* ExitTransition.None *}*
) *{*
_homeRoute_(
navigateToDetail = *{* deepLink *->*
navController._navigateToDetail_(deepLink)
}
)
_detailRoute_(
onBackPressed = *{* navController.popBackStack() *}*
)
}
}
_fun_ NavGraphBuilder.homeRoute(
navigateToDetail: (String) -> Unit
) {
_composable_(_homeRoute_) *{*
HomeRoute(navigateToDetail = navigateToDetail)
}
}
_fun_ NavGraphBuilder.detailRoute(onBackPressed: () -> Unit) {
_composable_(
route = _detailRouteWithArg_,
arguments = _listOf_(
_navArgument_(_pairArg_) *{*
type = NavType.StringType
}
)
) *{*
*it*.arguments?.getString(_pairArg_)?._let_ *{*
DetailRoute(onBackPressed = onBackPressed)
}
}
}
_fun_ NavController.navigateToDetail(deepLink: String) {
navigate("$_detailRoute_/${deepLink._encode_()}")
}
@Composable
_internal fun_ HomeRoute(
viewModel: HomeViewModel = hiltViewModel(),
navigateToDetail: (String) -> Unit
)
@Composable
_internal fun_ DetailRoute(
onBackPressed: () -> Unit,
viewModel: DetailViewModel = hiltViewModel()
)
In this case, why NavHost, AnimatedContent, LocalOwnersProvider, SaveableStateProvider keeps recomposition multiple timesascii
08/30/2023, 12:08 PMEmirhan Emmez
08/30/2023, 12:10 PM_setContent_ *{*
MyTheme *{*
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier._fillMaxSize_(),
color = MaterialTheme.colorScheme.background
) {
MainScreen()
}
}
}
ascii
08/30/2023, 12:11 PMEmirhan Emmez
08/30/2023, 12:13 PMEmirhan Emmez
08/30/2023, 12:13 PM