【发布时间】:2022-07-02 06:05:36
【问题描述】:
我是 jetpack compose 的新手,我真的很喜欢它。但是遇到了一个问题:我想知道我的视图是向上还是向下滑动,所以我创建了一个包含一些项目的 LazyColumn 以便能够滚动某些内容。它工作正常,但我想访问 Gesture 属性以了解视图是向下滚动还是向上滚动,这是我的代码:
LazyColumn{
items (100){
Text(
text = "Item $it",
fontSize = 24.sp,
textAlign = TextAlign.Center,
modifier = Modifier
.fillMaxSize()
.padding(vertical = 24.dp)
.pointerInput(Unit) {
detectDragGestures { change, dragAmount ->
//change.consumeAllChanges()// i don't know if this does something, i tried to remove it
println("detectDragGestures")
val (x, y) = dragAmount
if(abs(x) < abs(y)){
if (y > 0)
println("drag down")
else
println("drag Up")
}
}
})
}
}
这项工作,我可以检测视图是向下还是向上滚动,问题是当我点击项目并滚动时,我得到正确的打印但视图没有滚动,我必须在项目之间单击才能可以滚动。
我真的不知道 jetpack compose 中的手势是如何工作的,但我想在不妨碍滚动视图的情况下获得滑动的方向。
【问题讨论】:
标签: kotlin android-jetpack-compose draggable swipe gesture