![](/img/trans.png)
[英]How to detect swipe in HorizontalPager in Jetpack compose?
[英]How to disable pager animation of HorizontalPager in Jetpack Compose
我创建了一个包含 4 个选项卡和子页面的页面,即带有dragEnabled = false
的HorizontalPager
ntalPager,然后我想在单击用于更改页面的选项卡时禁用 animation。 我该怎么做?
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
ntalPager,但是每次更改页面时WebViewScreen
(webview 页面)都会重新加载,所以这不是一个好方法。
如果你想在切换期间禁用每个页面的转换,而不是使用
pagerState.animateScrollToPage(index)
只需使用另一个没有 animation 的
pagerState.scrollToPage(index)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.