卡中带有标题项目和卡中剩余项目的 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
毫无意义。在这种情况下,如果需要,请使用常规的 Column
和 verticalScroll
:
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 打开项目