Drag gesture
This commit is contained in:
parent
9007a96853
commit
6fa590ff0a
1 changed files with 10 additions and 3 deletions
|
|
@ -7,6 +7,10 @@ import androidx.activity.compose.setContent
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.compose.foundation.Canvas
|
import androidx.compose.foundation.Canvas
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
|
import androidx.compose.foundation.gestures.Orientation
|
||||||
|
import androidx.compose.foundation.gestures.detectDragGestures
|
||||||
|
import androidx.compose.foundation.gestures.draggable
|
||||||
|
import androidx.compose.foundation.gestures.rememberDraggableState
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.safeDrawingPadding
|
import androidx.compose.foundation.layout.safeDrawingPadding
|
||||||
|
|
@ -26,6 +30,7 @@ import androidx.compose.ui.geometry.Offset
|
||||||
import androidx.compose.ui.geometry.Size
|
import androidx.compose.ui.geometry.Size
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.drawscope.Stroke
|
import androidx.compose.ui.graphics.drawscope.Stroke
|
||||||
|
import androidx.compose.ui.input.pointer.pointerInput
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import com.mirenkov.ktheightmap.ui.theme.KtHeightMapTheme
|
import com.mirenkov.ktheightmap.ui.theme.KtHeightMapTheme
|
||||||
|
|
||||||
|
|
@ -66,9 +71,11 @@ fun MapCanvas(
|
||||||
val offsetY = rememberSaveable { mutableFloatStateOf(0F) }
|
val offsetY = rememberSaveable { mutableFloatStateOf(0F) }
|
||||||
Canvas(
|
Canvas(
|
||||||
modifier = modifier.fillMaxSize()
|
modifier = modifier.fillMaxSize()
|
||||||
.clickable {
|
.pointerInput(Unit) {
|
||||||
offsetX.floatValue += 20
|
detectDragGestures { _, distance ->
|
||||||
offsetY.floatValue += 20
|
offsetX.floatValue += distance.x
|
||||||
|
offsetY.floatValue += distance.y
|
||||||
|
}
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
drawRect(
|
drawRect(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue