我创建了一个有4个选项卡和子页面的页面,HorizontalPager
与dragEnabled = 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)