问题标签 [lazycolumn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
375 浏览

android - 如何在 Jetpack Compose 中为 LazyColumn 设置默认滚动位置而没有任何反馈或动画

我希望我的 LazyColumn 从中间显示列表中的项目,以便我可以向上或向下滚动。我使用了 rememberLazyListState 但它有一些延迟,我不希望滚动动作发生在 UI 中。

0 投票
1 回答
422 浏览

android-jetpack-compose - 更新卡按钮中的 LazyColumn 单击

我正在 JetPack Compose 中开发一个问答测验应用程序。我有如下卡

答案列表是一个 LazyColumn,如下所示

我的答案数据模型如下

isSolution可以得到一个选项是否是正确的答案。但我只想显示按钮单击并更新LazyColumn以显示不同颜色的相关选项。我尝试OptionsDetailsList在单击按钮时再次调用该方法,但它不起作用。我如何更新LazyColumnon Button Click inside CardView

0 投票
1 回答
658 浏览

android - LazyColum 标题和子标题

我正在尝试创建一个LazyColumn带有粘性标题和粘性子标题的内容。我想实现此 GIF中演示的功能。

我的源代码如下:

将使用的数据项

项目使用示例

组成的名单

错误

java.lang.IllegalStateException:不允许在相同方向的布局中嵌套可滚动,如 LazyColumn 和 Column(Modifier.verticalScroll())。如果您想在项目列表之前添加标题,请查看具有 DSL api 的 LazyColumn 组件,该组件允许首先通过 item() 函数添加标题,然后通过 items() 添加项目列表。

在 androidx.compose.foundation.ScrollKt.assertNotNestingScrollableContainers-K40F9xA(Scroll.kt:370) 在 androidx.compose.foundation.lazy.LazyListKt$LazyList$1.invoke-0kLqBqw(LazyList.kt:96) 在 androidx.compose.foundation。 lazy.LazyListKt$LazyList$1.invoke(LazyList.kt:95) 在 androidx.compose.ui.layout.SubcomposeLayoutState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:345) 在 androidx.compose.ui.node.InnerPlaceable。 measure-BRTryo0(InnerPlaceable.kt:43) 在 androidx.compose.foundation.layout.PaddingValuesModifier.measure-3p2s80s(Padding.kt:417) 在 androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt: 39) 在 androidx.compose.ui.node.ModifiedLayoutNode.measure-BRTryo0(ModifiedLayoutNode.kt:39) 在 androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:219)。compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) 在 androidx.compose.ui.node.DelegatingLayoutNodeWrapper.measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) 在 androidx.compose.ui.node.DelegatingLayoutNodeWrapper。 measure-BRTryo0(DelegatingLayoutNodeWrapper.kt:116) 在 androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:100) 在 androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable. kt:99) 在 androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:75) 在 androidx.compose.ui.node.Androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:128) .node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:63) 在 androidx。compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt:99) 在 androidx.compose.ui.node.OuterMeasurablePlaceable.measure-BRTryo0(OuterMeasurablePlaceable.kt:71) 在 androidx.compose.ui.node.LayoutNode。 measure-BRTryo0(LayoutNode.kt:1227) at androidx.compose.foundation.layout.RowColumnImplKt$rowColumnMeasurePolicy$1.measure-3p2s80s(RowColumnImpl.kt:89) at androidx.compose.ui.node.InnerPlaceable.measure-BRTryo0(InnerPlaceable .kt:43) 在 androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:100) 在 androidx.compose.ui.node.OuterMeasurablePlaceable$remeasure$3.invoke(OuterMeasurablePlaceable.kt:99) 在androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:128) 在 androidx.compose.ui.node.OwnerSnapshotObserver。androidx.compose.ui.node.OwnerSnapshotObserver.observeMeasureSnapshotReads$ui_release(OwnerSnapshotObserver.kt:63) at androidx.compose.ui.node.OuterMeasurablePlaceable.remeasure-BRTryo0(OuterMeasurablePlaceable.kt: 99) 在 androidx.compose.ui.node.LayoutNode.measure-BRTryo0(LayoutNode.kt:1227) 在 androidx.compose.foundation 的 androidx.compose.ui.node.OuterMeasurablePlaceable.measure-BRTryo0(OuterMeasurablePlaceable.kt:71) .lazy.LazyMeasuredItemProvider.getAndMeasure-ZjPyQlc(LazyMeasuredItemProvider.kt:50) 在 androidx.compose.foundation.lazy.LazyListMeasureKt.measureLazyList-9CW8viI(LazyListMeasure.kt:145) 在 androidx.compose.foundation.lazy.LazyListKt$LazyList$1。在 androidx.compose.foundation.lazy.LazyListKt$LazyList$1.invoke(LazyList.kt:95) 在 androidx.compose 调用-0kLqBqw(LazyList.kt:152)。ui.layout.SubcomposeLayoutState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:345)

是否可以在 Compose 中实现这种列表?

0 投票
0 回答
598 浏览

android - Jetpack Compose - 键盘第一次隐藏 TextField

我在 LazyColumn 中创建了一个包含六个 TextField 的简单示例,当您单击最后一个 TextField 时,键盘会将其隐藏,如果您隐藏键盘并再次单击最后一个 TextField,则可以正常工作。

在 AndroidManifest 我使用“adjustPan”

这是第一次单击最后一个 TextField 时的捕获,隐藏最后一个 TextField

这是您第二次单击最后一个 TextField 时的捕获,可以正常工作

这是代码

有谁知道第一次点击最后一个 TextField 时是否有任何方法可以防止键盘隐藏它

编辑:有一个已知问题: 192043120

0 投票
0 回答
37 浏览

android - Zoom Lazycolumn 项目

我正在尝试放大到 Lazycolumn 中的项目。我尝试了各种方法,但它们都有问题,我不知道如何解决。在第一次尝试中,我尝试缩放并检测图像中的手势,但失去了滚动列表的能力,并且第二项重叠。在第二次尝试中,我将图像放在 Box 中,以便在放大时它会变大,并且图像会适应框。现在第二个项目在缩放时不会重叠,但我无法滚动。

有没有办法在不重叠项目的情况下缩放和滚动列表?

谢谢

试试 1

试试 2

0 投票
0 回答
206 浏览

android - 在 LazyColumns 中滚动 LazyRows 以及粘性行和列?

我正在尝试创建一个带有粘性行(其中自身包含列)和每行第一列粘性的表。由于表格可能需要呈现的数据量,我不得不放弃使用常规列和行的想法,而是将注意力转向 Lazy 版本。

表的总体布局

我已经到了一般布局有效并且垂直滚动行为正确的地步。但是,目前每一行都是单独滚动的......

滚动单个行... 在标题行上滚动...

我附上了实现此行为的代码(将其展平并仅显示一个“部分”。想法是此代码将为每个新的垂直标题/应该一起滚动的行组重复)

当任何其他 LazyRows 滚动时,如何让每个 LazyRow 滚动,以及在第一次加载时从同一位置开始,使用 compose?甚至可能吗?我是否必须放弃当前的实施方法并寻找另一种方法?如果是这样,从哪里开始?在线提供的网格解决方案只能解决单向滚动,我还没有设法创建所需的粘性行为,如所附图片......请帮助我!

0 投票
2 回答
878 浏览

android - 修复了 Jetpack Compose 中 LazyColumn 内的网格?

目前在 Jetpack Compose 中,此代码会抛出 an,IllegalStateException因为您不能嵌套两个垂直滚动的 Composable:

我不希望网格本身滚动,而只是显示我传递给它的 Composable 的固定网格。是否有任何解决方法可以在 a 中显示非滚动网格LazyColumn

0 投票
0 回答
87 浏览

kotlin - 如何在 Jetpack Compose 中实现惰性列平滑滚动?

如何使惰性列平滑滚动?我创建了一个带有惰性列的简单页面。问题是在滚动时会出现轻微故障。有什么解决方案可以平滑滚动吗?

0 投票
1 回答
574 浏览

android - 相当于 Jetpack Compose Lazy Column/Row 中的 adapter.notifydatasetchange 或 Diffutils

如何LazyColumn在 Jetpack Compose 中更新、删除或添加项目?
这很容易通过recyclerviewadapter.notifydatasetchangediffutils在recyclerview中实现

0 投票
1 回答
110 浏览

android - 动画 LazyColumn 和 LazyRow

尚不支持 Compose 中的动画项目: LazyColumnhttps : //developer.android.com/jetpack/compose/lists#item-animationsLazyRow

关注问题跟踪器: https ://issuetracker.google.com/issues/150812265

但是,我在一个潜在的解决方法上创建了一个小型 POC,直到它得到官方支持(检查答案),它远未准备好生产并且肯定包含错误,但只是想分享我的小型游乐场项目