[英]Jetpack compose scroll listener
有没有一种方法可以在滚动列时记录事件? 我使它可滚动,保存了滚动 state,但我找不到在哪里调用 lambda function(作为可组合 onScroll 的参数onScroll: () -> Unit
您可以观察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")
}
}
}
滚动 state 上有一个名为 isScrollInProgress 的属性。 那个可以用。 如果 isScrollInProgress 为真,我称自己为 lambda function onScroll()
。 工作正常。
如果您想知道如何在LazyColumn
中执行此操作:
val nestedScrollConnection = remember {
object : NestedScrollConnection {
override suspend fun onPostFling(consumed: Velocity, available: Velocity): Velocity {
// On scroll ended detection
println("scroll completed")
return super.onPostFling(consumed, available)
}
}
}
和
LazyColumn(
modifier = Modifier.nestedScroll(nestedScrollConnection)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.