@Composable
fun HorizontalPagerScaffoldSample(navigateBack: () -> Unit) {
AppScaffold {
val pagerState = rememberPagerState(pageCount = { 10 })
HorizontalPagerScaffold(pagerState = pagerState) {
HorizontalPager(
state = pagerState,
flingBehavior =
PagerDefaults.snapFlingBehavior(
state = pagerState,
maxFlingPages = 1,
snapPositionalThreshold = PagerScaffoldDefaults.HighSnapPositionalThreshold,
snapAnimationSpec = MaterialTheme.motionScheme.defaultSpatialSpec(),
),
rotaryScrollableBehavior = null,
) { page ->
AnimatedPage(pageIndex = page, pagerState = pagerState) {
ScreenScaffold {
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Text(text = "Page #$page")
Spacer(modifier = Modifier.height(8.dp))
Text(text = "Swipe left and right")
if (page == 0) {
Spacer(modifier = Modifier.height(16.dp))
Button(onClick = navigateBack) { Text("Exit") }
}
}
}
}
}
}
}
}