Sub Process_Globals
Dim x0, y0, pnlLeft, pnlTop As Float
End Sub
Sub Globals
Dim pnlTest As Panel
End Sub
Sub Activity_Create(FirstTime As Boolean)
pnlTest.Initialize("pnlTouch")
pnlTest.Color = Colors.White
Activity.AddView(pnlTest, 100dip, 100dip, 100dip, 100dip)
End Sub
Sub Activity_Touch (Action As Int, X As Float, Y As Float)
Select Action
Case Activity.ACTION_DOWN
x0 = X
y0 = Y
pnlLeft = pnlTest.Left
pnlTop = pnlTest.Top
Case Activity.ACTION_MOVE
pnlTest.Left = pnlLeft + X - x0
pnlTest.Top = pnlTop + Y - y0
Case Activity.ACTION_UP
End Select
End Sub
Nein, heute nicht.(ist überhaupt heute in der Schweiz Feiertag?)
Toller Tipp, funktioniert mit wenigen Zeilen Code aus dem Beispiel...Vielleicht gibt es eine Lösung mit der Gesture Detector, habe diese aber noch nie benutzt.
Sub Globals
Dim GD As GestureDetector
...
pnlErfassung.LoadLayout("erfassung")
GD.SetOnGestureListener(pnlErfassung, "Gesture")
...
Sub Gesture_onDrag(deltaX As Float, deltaY As Float, MotionEvent As Object)
pnlErfassung.Left = Max(0, Min(pnlErfassung.Left + deltaX, 100%x - pnlErfassung.Width))
pnlErfassung.Top = Max(0, Min(pnlErfassung.Top + deltaY, 100%y - pnlErfassung.Height))
End Sub