[英]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.