在 jetpack compose 中循环列表

Fil*_*ves 3 android horizontal-scrolling android-jetpack-compose

您好,我想创建一个循环/无限的列表。

通过循环或无限,我的意思是当您到达最后一个元素时,它不会完成列表,而是会再次显示第一个元素。

我可以把这个清单重复两三遍,但最终还是会结束。

另外值得注意的是,对于有关滚动效果的其他要求,我使用了来自伴奏者的 Horizo​​ntalPager。

任何人都知道如何实现这一目标或者是否可能?

Jan*_*ína 6

是的,您可以使用基于它们的 LazyColumn/LazyRow 或 Pager 来做到这一点。您可以使用“无限”数量的元素配置它们,然后使用模数计算列表中的正确索引。像这样的东西:

LazyColumn {
    items(count = Int.Max_VALUE) { index ->
        val item = list[index % list.size]
        Item(item)
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至还有HorizontalPager伴奏者的示例:https://github.com/google/accompanist/blob/v0.28.0/sample/src/main/java/com/google/accompanist/sample/pager/Horizo ​​ntalPagerLoopingSample.kt