Jetpack 的不良行为构成 Horizo​​ntalPager

时间:2021-05-21 00:54:32

标签: android kotlin android-jetpack-compose

我对新框架 Jetpack Compose 的 Horizo​​ntalPager 有问题。当我将 Horizo​​ntalPager 与 TabRow 关联时,一切正常,直到我到达 TabRow (Title3) 的最后一个元素(通过单击选项卡行或滑动到最后一页)。当我在最后一页时,如果我向左滑动 1 纳米,寻呼机就会从最后一页 (Title3) 切换到上一页 (Title2)。它不像其他页面之间的切换,当其他人继续时,这个是瞬间的。我希望我足够清楚可以理解。这是我使用的代码:

    val tabTitles = listOf("Title1", "Title2", "Title3")
    val pagerState = rememberPagerState(pageCount = tabTitles.size)
    val coroutineScope = rememberCoroutineScope()

    Column {
       TabRow(
            selectedTabIndex = pagerState.currentPage,
            indicator = { tabPositions ->
                TabRowDefaults.Indicator(Modifier.pagerTabIndicatorOffset(pagerState, tabPositions))
            }) {
            tabTitles.forEachIndexed { index, title ->
                Tab(
                    text = { Text(title) },
                    selected = pagerState.currentPage == index,
                    onClick = { coroutineScope.launch { pagerState.animateScrollToPage(index) } }
                )
            }
        }

        HorizontalPager(state = pagerState) { page ->
            LazyVerticalGrid(
                cells = GridCells.Fixed(2),
                contentPadding = PaddingValues(4.dp)
            ) {
                when (page) {
                    0 -> // Create a list of card for each item
                    1 -> // Create a list of card for each item
                    2 -> // Create a list of card for each item
                }
            }
        }
    }

即使这是一个新框架,我也希望有人能帮助我:/ 如果问题来自它而不是来自我的代码,我愿意接受其他解决方案来实现这种没有 Horizo​​ntalPager 的寻呼机。 提前致谢。

编辑:这是 0.9.0 版 Google 伴奏库中的一个错误,我使用最新版本 (0.10.0) 解决了我的问题。

0 个答案:

没有答案