https://kotlinlang.org logo
#compose
Title
# compose
m

Mehmet Peker

01/05/2021, 1:52 AM
Hello everyone,im trying detect swipe direction in compose.Im using draggable modifier for this.But draggable allows only one direction to detect(Vertical or Horizontal).I want to detect swipe for all direction(left,right,up,down).May anyone help me how can i do this?Thanks.
t

Tash

01/05/2021, 1:54 AM
m

Mehmet Peker

01/05/2021, 3:41 AM
Thank you for answer but i could not run this code.Any solution without pointerInput modifier?I think so complicated for detect swipe direction.There must be an easier way to detect.
t

Tash

01/05/2021, 9:05 AM
@Mehmet Peker Have you tried using
Modifier.dragGestureFilter(...)
? You could create a
DragObserver
, create a
Modifier
and attach that to your element as the last modifier:
Copy code
// Create DragObserver
val dragObserver = object : DragObserver {
    ...
    override fun onDrag(dragDistance: Offset): Offset {
        // use Offset for drag here
    }
}

// Create Modifier
val dragGestureModifier = Modifier.dragGestureFilter(dragObserver)

// Draggable Element
Box(
    ...
    modifier = Modifier.fillMaxSize()
        .preferredWidth(...)
        .preferredHeight(...)
        .then(dragGestureModifier)
)
7 Views