kevinskrei
03/05/2024, 3:34 PMTimerText
inside a ScreenScaffold
. Each page of the pager has scrollable content. Is there a simple way to utilize the scrollAway
method for the TimerText
at the root while each child of the pager has its own scrolling state? I'm struggling to figure out how to pass the scrolling state up to the root. Any guidance would be much appreciated!yschimke
03/05/2024, 5:15 PMyschimke
03/05/2024, 5:22 PMval navController = rememberSwipeDismissableNavController()
AppScaffold {
SwipeDismissableNavHost(startDestination = "pager", navController = navController) {
composable("pager") {
val pagerState = rememberPagerState { 3 }
// Could be just PagerScreen instead of PagerScaffold/HorizontalPager/HierarchicalFocusCoordinator
PagerScaffold(
modifier = Modifier.fillMaxSize(),
pagerState = pagerState,
) {
HorizontalPager(
modifier = Modifier.fillMaxSize(),
state = pagerState,
flingBehavior = HorizontalPagerDefaults.flingParams(pagerState),
) { page ->
HierarchicalFocusCoordinator(requiresFocus = { page == pagerState.currentPage }) {
val columnState = rememberResponsiveColumnState()
ScreenScaffold(scrollState = columnState) {
ScalingLazyColumn(
modifier = Modifier.fillMaxSize(),
columnState = rememberResponsiveColumnState()
) {
items(100) {
Text(text = "Item $it")
}
}
}
}
}
}
}
}
}
yschimke
03/05/2024, 5:22 PMyschimke
03/05/2024, 5:23 PMyschimke
03/05/2024, 5:28 PMkevinskrei
03/05/2024, 5:30 PMyschimke
03/05/2024, 5:41 PMrememberResponsiveColumnState()
twice!yschimke
03/05/2024, 5:41 PMyschimke
03/05/2024, 5:41 PMval navController = rememberSwipeDismissableNavController()
AppScaffold {
SwipeDismissableNavHost(startDestination = "pager", navController = navController) {
composable("pager") {
val pagerState = rememberPagerState { 3 }
PagerScreen(
modifier = Modifier.fillMaxSize(),
state = pagerState,
) {
val columnState = rememberResponsiveColumnState()
ScreenScaffold(scrollState = columnState) {
ScalingLazyColumn(
modifier = Modifier.fillMaxSize(),
columnState = columnState
) {
items(100) {
Text(text = "Item $it")
}
}
}
}
}
}
}
yschimke
03/05/2024, 5:42 PMyschimke
03/05/2024, 5:43 PMyschimke
03/05/2024, 5:45 PMyschimke
03/05/2024, 5:45 PMkevinskrei
03/05/2024, 7:49 PM