如何启用隐藏在列后面的视图点击

问题描述 投票:0回答:0

我有一个组合视图,顶部有标题,带有选项卡的可滚动列和带有惰性列的水平分页器。我遇到的问题是我无法在

Header
上消耗点击事件,因为
column
位于标题顶部。有没有办法在位于列后面的标题中的按钮上使用点击事件?

Surface {

   val scrollState: ScrollState = rememberScrollState()

   Box {

      Box { Header() }

      Column(
         modifier = Modifier
              .fillMaxSize()
              .verticalScroll(state = scrollState)
      ) {
          
          Spacer(Modifier.height(headerHeight))
          
          TabLayout() {...}
          HorizontalPager(
              Modifier.height(screenSize).nestedScroll(
                            remember {
                                object : NestedScrollConnection {
                                    override fun onPreScroll(
                                        available: Offset,
                                        source: NestedScrollSource
                                    ): Offset {
                                        return if (available.y > 0) Offset.Zero else Offset(
                                            x = 0f,
                                            y = -scrollState.dispatchRawDelta(-available.y)
                                        )
                                    }
                                }
                            }
          ) { LazyColumn {...} } 
      }
   }
}

我知道我可以将

Box { Header() }
移到列内并将其替换为
Spacer()
。这工作正常,但我无法通过这种方法获得我想要的动画效果;其中列表在标题顶部滚动,标题缓慢折叠以产生视差效果。

android android-jetpack-compose android-jetpack
© www.soinside.com 2019 - 2024. All rights reserved.