如何禁用Jetpack Compose中HorizontalPager的寻呼机动画



我创建了一个有4个选项卡和子页面的页面,HorizontalPagerdragEnabled = false,然后我想在单击选项卡更改页面时禁用动画。我该怎么做呢?

Column(modifier = Modifier.padding(bottom = 0.dp)) {
HorizontalPager(
state = pagerState,
flingBehavior = PagerDefaults.rememberPagerFlingConfig(pagerState),
verticalAlignment = Alignment.CenterVertically,
horizontalAlignment = Alignment.CenterHorizontally,
dragEnabled = false,
modifier = Modifier.fillMaxSize()
) { pagePosition ->
when (pagePosition) {
0 -> GuideScreen()
1 -> WebViewScreen()
2 -> WebViewScreen()
3 -> MineScreen()
}
}
TabRow(selectedTabIndex = pagerState.currentPage,
modifier = Modifier.fillMaxWidth(),
backgroundColor = Color.White,
indicator = {},
divider = {}) {
//...
}
}

我尝试通过when(){}代码重复HorizontalPager,但WebViewScreen(一个webview页面)每次页面更改时都会重新加载,因此这不是一个好方法。

如果您想在切换过程中禁用每个页面的过渡,而不是使用

pagerState.animateScrollToPage(index)

使用另一个没有动画的

pagerState.scrollToPage(index)

最新更新