繁体   English   中英

如何在 Jetpack Compose 中禁用 HorizontalPager 的寻呼机 animation

[英]How to disable pager animation of HorizontalPager in Jetpack Compose

我创建了一个包含 4 个选项卡和子页面的页面,即带有dragEnabled = falseHorizontalPager 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM