Hallo,
ich möchte Objekte zur Laufzeit erzeugen und dann hin und her schieben können. Probieren tue ich es mit GestureDetector.
Die objekte erzeuge ich so:
Im event Drag versuche ich das Objekt aufzulösen:
Das onDouble_Event habe ich zum testen eingefügt. Leider wird das Objekt nicht aufgelöst , d.h. im Double_Event wird als Tag
immer das letzte Wert angezigt und nicht der vom Objekt. Dementsprechend ist das Verhalten beim Drag, also andere Objekte werden
bewegt. Was und wie muss ich ändern, damit ich das Vorhaben umsetzen kann?
Vielen Dank
ich möchte Objekte zur Laufzeit erzeugen und dann hin und her schieben können. Probieren tue ich es mit GestureDetector.
Die objekte erzeuge ich so:
B4X:
Sub Button1_Click
zaehler=zaehler +1
Dim btn As Button
btn.Initialize("btn")
btn.Text="test" & zaehler
btn.Tag=zaehler
btn.Color=Colors.Green
Activity.AddView(btn,20dip,20dip,120dip,50dip)
gd.SetOnGestureListener(btn,"Gest")
End Sub
Im event Drag versuche ich das Objekt aufzulösen:
B4X:
Private Sub Gest_onDrag(deltaX As Float, deltaY As Float, MotionEvent As Object)
Dim bt As Button
bt=Sender
bt.Left=Max(0,Min(bt.Left+deltaX,100%x-bt.Width))
bt.Top=Max(0,Min(bt.Top+deltaY,100%y-bt.Height))
End Sub
Private Sub Gest_onDoubleTap(X As Float, Y As Float, MotionEvent As Object)
Dim bt As Button
bt=Sender
MsgboxAsync(bt.Tag,"")
End Sub
Das onDouble_Event habe ich zum testen eingefügt. Leider wird das Objekt nicht aufgelöst , d.h. im Double_Event wird als Tag
immer das letzte Wert angezigt und nicht der vom Objekt. Dementsprechend ist das Verhalten beim Drag, also andere Objekte werden
bewegt. Was und wie muss ich ändern, damit ich das Vorhaben umsetzen kann?
Vielen Dank
Last edited: