Improve swipe gesture cancellation in pager layout
This commit is contained in:
parent
348c969c19
commit
b01eb151f8
@ -8,7 +8,7 @@ import androidx.compose.ui.geometry.Offset
|
||||
|
||||
class GestureDetector {
|
||||
private var dragStart: Offset? = null
|
||||
private var currentDrag : Offset? = null
|
||||
var currentDrag : Offset? = null
|
||||
|
||||
var gestureListener: OnGestureListener? = null
|
||||
|
||||
|
||||
@ -259,6 +259,14 @@ fun PagerScaffold(
|
||||
|
||||
val nestedScrollConnection = remember {
|
||||
object : NestedScrollConnection {
|
||||
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
|
||||
val drag = gestureManager.currentDrag
|
||||
if (drag != null && (drag.y > 0 || (reverse && drag.x < 0 || !reverse && drag.x > 0))) {
|
||||
gestureManager.dispatchDrag(available)
|
||||
return available
|
||||
}
|
||||
return super.onPreScroll(available, source)
|
||||
}
|
||||
override fun onPostScroll(
|
||||
consumed: Offset,
|
||||
available: Offset,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user