LazyColumn 项目位置

时间:2021-01-11 16:35:27

标签: android android-jetpack android-jetpack-compose

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

我有这样的情况:

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

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

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

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

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

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

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

应用程序是严格按照 compose 编写的,因此我无法访问任何提供此类实现的库

1 个答案:

答案 0 :(得分:1)

使用stickyHeader

LazyColumn {
  item { ... }
  stickyHeader {
    ScrollableTabRow(...) { ... }
  }
  item { ... }
}