LazyColumn 项目位置

Posted

技术标签:

【中文标题】LazyColumn 项目位置【英文标题】:LazyColumn item position 【发布时间】:2021-04-16 15:13:43 【问题描述】:

有没有办法在屏幕滚动时获取 y 位置的值?

我有这样的情况:

LazyColumn() 
    item 
      box()
      box()
      box()
      ScrollableTabRow()
    
    itemsIndexed ...

我需要知道 ScrollableTabRow 何时移过 y 轴上的某个位置(例如 100.dp)

我尝试使用 .scrollable() (类似于scrollable)

并带有滚动手势过滤器 (类似于gesture

并使用 dragGestureFilter 但我无法让它工作,是我做错了什么,还是不可能?

基本上,我需要做的是让可滚动标签行在触碰屏幕顶部后充当粘性标题。

我想做的是,在可滚动行触及屏幕顶部后,在屏幕顶部为其创建某种模型,但也许有一些更简单的方法?

应用程序是严格用 compose 编写的,所以我无权访问任何提供此类实现的库

【问题讨论】:

Sticky headers 可能会在明天发布。 【参考方案1】:

使用stickyHeader。

LazyColumn 
  item  ... 
  stickyHeader 
    ScrollableTabRow(...)  ... 
  
  item  ... 

【讨论】:

是的,在发行版中也看到了,谢谢帮助!

以上是关于LazyColumn 项目位置的主要内容,如果未能解决你的问题,请参考以下文章

Jetpack Compose,设置新数据时如何重置 LazyColumn 位置?

LazyColumn 项目互斥

动画 LazyColumn 项目组成 [重复]

LazyColumn - 项目关键参数用途?

Compose:LazyColumn 在单个项目更新时重新组合所有项目

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