我有一个组合视图,顶部有标题,带有选项卡的可滚动列和带有惰性列的水平分页器。我遇到的问题是我无法在
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()
。这工作正常,但我无法通过这种方法获得我想要的动画效果;其中列表在标题顶部滚动,标题缓慢折叠以产生视差效果。