卡中带有标题项目和卡中剩余项目的 LazyColumn

Posted

技术标签:

【中文标题】卡中带有标题项目和卡中剩余项目的 LazyColumn【英文标题】:LazyColumn with header item in card and remaining items in card 【发布时间】:2021-11-28 17:50:44 【问题描述】:

使用 compose LazyColumn 我想要一张卡片作为标题项目,以及一张包含其余项目的卡片。

LazyColumn() 
  item 
    Card()  // header card
  

  // would like all items in single card
  Card()  // cannot do this, outside composable function
      items(myItems)  item ->
         // item here
      
  

这样的事情可能吗?

【问题讨论】:

【参考方案1】:

如果您只有 2 件商品,那么拥有 LazyColumn 毫无意义。在这种情况下,如果需要,请使用常规的 ColumnverticalScroll

Column(
    modifier = Modifier
        .fillMaxWidth()
        .verticalScroll(
            rememberScrollState()
        ),
) 
    Card(
        modifier = Modifier.fillMaxWidth()
    ) 
        header()
    
    Card(
        modifier = Modifier.fillMaxWidth()
    ) 
        Column 
            item1()
            item2()
        
    

【讨论】:

它根本不是 2 项。它的两张牌,第一张牌是一个物品,第二张牌有很多很多物品。 MyItems 是一个列表。我希望将项目列表放在卡片中。 2 张卡片 = 2 项 - 就 LazyList 而言,这就是最重要的。一张卡是否有很多项与 LazyList 无关。 似乎对 LazyColumn 的一个很大的限制是不能为项目添加周围的视图。这是很常见的情况,我得到了您的解决方案,想知道是否有办法在我的用例中使用 LazyColumn。 在不了解具体的 UX 要求的情况下,我无话可说,但您可以将卡片移动到每个项目(因此每个项目 1 个卡,而不是所有项目 1 个卡),但你原来的不可能。 我同意@iostintraslation 这是一个很大的限制。如果在这种情况下我们决定只使用垂直可滚动的Column,我想知道性能会发生什么。使用可滚动列与使用 LazyColumn 一样吗?

以上是关于卡中带有标题项目和卡中剩余项目的 LazyColumn的主要内容,如果未能解决你的问题,请参考以下文章

OroPlatform:在新选项卡中从 application_menu 打开项目

VBA复制粘贴循环

我在 xib(加载 xib)的帮助下创建了项目,现在我想在特定的按钮选项卡中添加情节提要并打开情节提要

在选项卡之间切换时获取核心数据

在选项卡中的列表视图中刷新活动 (Android)

材质选项卡中的 ag-grid