Fla*_*Nes 13 android android-jetpack-compose
有没有一种方法可以在滚动列时记录事件?我使其可滚动,保存了滚动状态,但我找不到在哪里调用作为可组合参数给出的 lambda 函数onScroll: () -> Unit
Gab*_*tti 17
您可以观察scrollState:
val scrollState = rememberScrollState()
Column(
modifier = Modifier
.verticalScroll(scrollState)
)
Run Code Online (Sandbox Code Playgroud)
您可以检查此值scrollState:
if (scrollState.isScrollInProgress){
println("scrolling")
}
Run Code Online (Sandbox Code Playgroud)
如果您需要等待滚动完成,可以使用if+ DisposableEffect:
if (scrollState.isScrollInProgress) {
DisposableEffect(Unit) {
onDispose {
println("scroll completed")
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过收集如下值来继续侦听惰性列表的状态:
val state = rememberLazyListState()
LaunchedEffect(state) {
snapshotFlow { state.isScrollInProgress }
.collect { /* here boolean result */ }
}
Run Code Online (Sandbox Code Playgroud)
滚动状态有一个名为 isScrollInProgress 的属性。那个可以用。如果 isScrollInProgress 为 true 我调用了我自己的 lambda 函数onScroll()。工作正常。
| 归档时间: |
|
| 查看次数: |
14701 次 |
| 最近记录: |