【发布时间】:2021-09-10 16:17:39
【问题描述】:
有没有一种方法可以在滚动列时记录事件?我让它可滚动,保存了滚动状态,但我找不到在哪里调用作为 param 给出的 lambda 函数来组合 onScroll: () -> Unit
【问题讨论】:
标签: android android-jetpack-compose
有没有一种方法可以在滚动列时记录事件?我让它可滚动,保存了滚动状态,但我找不到在哪里调用作为 param 给出的 lambda 函数来组合 onScroll: () -> Unit
【问题讨论】:
标签: android android-jetpack-compose
你可以观察scrollState:
val scrollState = rememberScrollState()
Column(
modifier = Modifier
.verticalScroll(scrollState)
)
你可以查看这个scrollState的值:
if (scrollState.isScrollInProgress){
println("scrolling")
}
如果需要等待滚动完成,可以使用if + DisposableEffect:
if (scrollState.isScrollInProgress) {
DisposableEffect(Unit) {
onDispose {
println("scroll completed")
}
}
}
【讨论】:
有一个关于滚动状态的属性叫做 isScrollInProgress。那个可以用。如果 isScrollInProgress 为真,我调用了我自己的 lambda 函数 onScroll()。工作正常。
【讨论】: