【问题标题】:vertical scroll in viewpager jetpack compose is not workingviewpager jetpack compose 中的垂直滚动不起作用
【发布时间】:2022-01-14 08:12:12
【问题描述】:

在使用 Accompanist 的 Horizo​​ntal View Pager 中面临垂直滚动问题。无法滚动列 垂直在 Horizo​​ntalViewPager 内。因此,请查看代码并更正如何修复它或任何其他解决方案。如果可能,将不胜感激。

                HorizontalPager(
                count = 10,
                modifier = Modifier.fillMaxSize()
            ) { page ->



                Column(
                    modifier = Modifier
                        .fillMaxWidth()
                        .fillMaxHeight(),
                ){
                    ScoreCardListItem()
                    Spacer(modifier = Modifier.height(16.dp))
                    ScoreCardListItem()
                    Spacer(modifier = Modifier.height(16.dp))
                    ScoreCardListItem()
                    Spacer(modifier = Modifier.height(16.dp))
                    ScoreCardListItem()
                    Spacer(modifier = Modifier.height(16.dp))
                    ScoreCardListItem()
                    Spacer(modifier = Modifier.height(16.dp))
                    ScoreCardListItem()
                    Spacer(modifier = Modifier.height(16.dp))
                    ScoreCardListItem()
                }
            }

使用 Column 时无法垂直滚动。如果尝试使用 LazyColumn 会产生错误。这是伴奏 ViewPager 链接 Accompanist Library

【问题讨论】:

    标签: android kotlin android-viewpager android-jetpack-compose jetpack-compose-accompanist


    【解决方案1】:

    使用 LazyColumn 检查

               LazyColumn(
                modifier = Modifier
                    .padding(16.dp)
                    .fillMaxSize()
                 ) {
                     item {
                        ScoreCardListItem()
                        Spacer(modifier = Modifier.height(16.dp))
                        ScoreCardListItem()
                        Spacer(modifier = Modifier.height(16.dp))
                        ScoreCardListItem()
                        Spacer(modifier = Modifier.height(16.dp))
                        ScoreCardListItem()
                        Spacer(modifier = Modifier.height(16.dp))
                        ScoreCardListItem()
                        Spacer(modifier = Modifier.height(16.dp))
                        ScoreCardListItem()
                        Spacer(modifier = Modifier.height(16.dp))
                        ScoreCardListItem()
                       }
                    }
    

    【讨论】:

    • 谢谢,它成功了。实际上,我在 Composable 函数中使用了 Column 。这就是它生成错误、删除 Colum 并放入 item{} 的原因。然后它起作用了。解决方案是 LazyColumn。
    猜你喜欢
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2023-01-31
    • 2022-01-12
    • 1970-01-01
    • 2022-10-26
    相关资源
    最近更新 更多