Ahm*_*out 5 android android-jetpack-compose
我有一个可滚动列,其中有另一个可滚动列和一个 MapView。
由于 Compose 的默认行为是允许嵌套滚动,因此控制这两个也可以使用手势的子项有些困难。
我想做到这一点,以便当这些孩子收到指针事件时,他们自己处理它,并且永远不会将任何内容传递给父母。
没有未消耗的值或类似的东西。只要指针事件在它们的范围内,它们就会消耗掉所有事件。
我怎样才能做到这一点?
我试图研究 NestedScrolling,但这给了父级而不是子级更多的控制权。
关于指针事件的一些搜索引导我找到了一种解决方案,该解决方案禁用了孩子体内的所有手势。但我希望孩子能够理解并使用这些手势,而不是丢弃它们。
您可以Modifier.nestedScroll()
与自定义NestedScrollConnection
对象一起使用。
例如,您可以通过覆盖 onPreScroll 来禁用子滚动
override fun onPreScroll(available: Offset, source: NestedScrollSource) = available.copy(x = 0f)
Run Code Online (Sandbox Code Playgroud)
或者禁用父级滚动:
override fun onPostScroll(
consumed: Offset,
available: Offset,
source: NestedScrollSource
) = available.copy(x = 0f)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1301 次 |
最近记录: |