【问题标题】:Jetpack compose how to make two lazy columns scroll togetherJetpack compose 如何让两个惰性列一起滚动
【发布时间】:2022-12-15 06:00:03
【问题描述】:

我想在屏幕上显示两列卡片流,其中包含来自网络的分页数据。我尝试使用两个具有启动效果的惰性列。 (参考:Scroll Two Lazy Scrollers Together),但是,卡的高度不同,所以我不能直接使用 firstVisibleItemScrollOffset 和 firstVisibleItemIndex。如果我使用 lazyGrid,卡片的高度不能不同。如何实现这样一个两栏的卡片流页面?

target data flow page

使用 Jetpack Compose 时如何使两个惰性列一起滚动或将滑动刷新布局与列组合

【问题讨论】:

    标签: android android-jetpack-compose android-jetpack


    【解决方案1】:

    您是否尝试将相同的 LazyListState 作为参数传递给两个 LazyColumns?

    【讨论】:

    • 我试过了,但它们不能一起滚动
    【解决方案2】:

    只需使用LazyHorizontalStaggeredGrid

    就像是:

    val state = rememberLazyStaggeredGridState()
    
    LazyVerticalStaggeredGrid(
        columns = StaggeredGridCells.Fixed(2),
        modifier = Modifier.fillMaxSize(),
        state = state,
        horizontalArrangement = Arrangement.spacedBy(10.dp),
        verticalArrangement = Arrangement.spacedBy(10.dp),
        content = {
    
            items(count) {
                //item content
            }
        }
    )
    

    【讨论】:

      最近更新 更多