问题标签 [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 回答
281 浏览

android - 来自位图源的图像的 LazyColumn 闪烁/闪烁

我是 Jetpack Compose 的新手。我目前正在开发一个聊天应用程序。我要求用户从图库中选择图像或从相机中拍照。然后我将文件 Uri 保存到数据库中,然后收听所有消息的列表。更新此列表时,此图像正在重新合成并闪烁。

视图模型中的消息列表:

主聊天画面:

我的已发送图像块:

我已经尝试了几件事,要么是图像总是闪烁。

0 投票
1 回答
1183 浏览

android - 删除 Jetpack Compose 中的 LazyColumn 过度滚动效果

我正在使用 Jetpack Compose 的 1.1.0-alpha05 版本,我想知道是否有办法关闭LazyColumn类似 xml ( android:overScrollMode="never") 的滚动效果?

在此处输入图像描述

0 投票
1 回答
215 浏览

android-jetpack-compose - 卡中带有标题项目和卡中剩余项目的 LazyColumn

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

这样的事情可能吗?

0 投票
0 回答
37 浏览

android-jetpack-compose - LazyColumn 中的列堆叠/折叠成一列

列中的列LazyColumn堆叠成一列。

这是代码

这是 Nexus 6P(Android 8.1.0)上的视觉效果。

视觉效果

0 投票
0 回答
11 浏览

kotlin - 我使用 listState 来管理我的 LazColumn 的滚动以显示和隐藏我的标题栏。(分页)

当我使用 listState 管理 LazColumn 的滚动以显示和隐藏我的标题栏时,如果我使用分页,则每次滑动时分页都会刷新。我不知道该怎么做。

0 投票
3 回答
569 浏览

android - 最后一个元素在 LazyColumn 中不可见。喷气背包组成

我从这个 codelab中举一个例子

但是我的屏幕上看不到最新的元素。PS我滚动到最后

在列中添加高度时 - 最后一个元素是可见的,但会LazyColumn延伸到整个高度

发生这种情况是因为该列是根元素。好的,添加Column()根元素并添加LazyColumn()到根中,但我希望LazyСolumn占据整个高度

最后的元素不可见

理想情况下,我想制作一个带有静态标题的滚动表

UPD:当我在 LazyColumn() 上和下添加 Text() 时,最后的元素也不可见

0 投票
1 回答
210 浏览

android - jetpack compose上垂直列表中的水平列表不顺畅

我正在尝试实现一个使用垂直滚动来显示所有内容的屏幕,并且该屏幕的某些部分具有水平滚动,带有如下卡片:

在此处输入图像描述

画面可组合:

滚动工作正常但不顺畅,我不知道如何解释,但是当我用手指移动列表时,当我移开屏幕手指时滚动停止,它不像垂直那样平滑连续滚动,看起来滚动动画卡住了。

我知道在 xml 中我可以使用nestedScrollingEnabled = false并解决了这个问题,但我不知道如何在 compose 中执行此操作。

0 投票
3 回答
95 浏览

android-jetpack-compose - LazyColumn 项目互斥

假设我在 a 中有一个项目列表,LazyColumn它们都可以被选中。如何确保选择一个项目时,取消选择其他项目(因此一次只能选择一项)?

我在想,interactionSource但我不确定如何使用它。

0 投票
1 回答
674 浏览

android - Jetpack Compose:更新列表元素内容时不会发生重组

我正在尝试使用 Android 的 Jetpack Compose。
对于简单的用例,一切都按预期工作,但是对于更高级的用例,
我在缺少重组时遇到了一些麻烦。
这是我在 stackoverflow 上的第一篇文章。我希望我能很好地描述我的问题以获得一些帮助。;)

我的模型

我正在模拟成分的存储系统,其中

  • 成分由名称和可选图标组成
  • 一个StorageItem由一种成分和一种库存(该成分的存储量)组成:

我的可组合物

我的StorageUi组合应该列出所有存储项目
,并显示成分的图标和名称,以及库存。
对于这篇文章,我去掉了所有不相关的修饰符和格式以简化可读性。
(请注意,我用第二个没有视图模型
的版本重载了我的 StorageScreen 组合,以便于测试并促进 Android Studio 中的预览功能。)

我的视图模型:

在我的 ViewModel 中,我

  • 创建一个可变状态列表(此处未显示数据的初始化)
  • 如果用户点击成分卡,则提供增加库存的事件处理程序

问题:改变原料的库存时不会发生重组

我尝试更改事件处理程序以简单地从列表中删除被点击的项目:

瞧,UI 重新组合,轻拍的成分消失了。

我学到的是:

  • mutableStateListOf() 确实观察到列表的变化(添加、删除、重新排序)
  • mutableStateListOf() 不会观察到列表中元素的变化(成分名称/图标/库存变化)

我想从你们那里学到什么:

  • 你将如何解决这个问题?
  • 如果列表中的任何元素更改其状态,我该怎么做才能实现重组?
0 投票
2 回答
1223 浏览

android - 通过 ComposeView 互操作在 CoordinatorLayout 内编写 LazyColumn 滚动行为

问题 - 向下滚动会导致底部工作表滚动而不是将滚动优先级赋予 LazyColumn(RecyclerView 没有这个问题。它被 NestedScrollView 包裹)

我刚刚在 CoordinatorLayout 中引入了一个 Compose LazyColumn 替换 Recycler。Coordinator(作为底部工作表实现)本身可以在查看和展开状态之间自由滚动。我的问题是在 LazyColumn 中向下拖动项目区域时,底部工作表会拾取滚动而不是 LazyColumn 。如果我在 LazyColumn 上先向上然后向下滚动(不释放),则滚动由 LazyColumn 拾取,滚动优先级赋予 LazyColumn(预期行为。)

Compose 新手,所以我希望有人能告诉我如何纠正这种新的滚动行为?

**编辑 我正在通过切换协调器的 ^^ BottomSheetBehavior.isDragglable 来完成这项工作,但它确实需要我释放拖动而不是从列表滚动平滑过渡到底部工作表滚动 - 任何人都建议修复?:

然后在片段中: