Hallo,
das angehängte Beispiel generiert zuerst mehrere ImageViews (alle 1000 * 1000) und füllt sie anschließend mit Bitmaps (Auflösung 1000 * 1000 pix).
Darüber habe ich ein Panel gelegt, um das touch-event abzufangen. Damit sollen die Imageviews verschoben werden. Soweit funktioniert es auch, nur dass sich die Darstellung mit jedem Schieben verändert. Die einzelnen Bilder driften an den Kanten auseinander.
Probiert habe ich es mit PNG und GIF Files. Jedes mal das selbe Ergebnis.
Hier die Routine mit der die Views verschoben werden:
Auch Versuche, beispielsweise bei Activity.ACTION_UP die Bilder neu zuzuweisen oder das Invalidate brachten absolut nichts mit jedem Scrollen klaffen die Bilder weiter auseinander.
Liegt es womöglich an einem Rundungsfehler, weil X und Y als Float definiert sind, ImageView.Left und .Top aber als INT?
Wo ist mein Denkfehler?
Danke im Voraus - Peter
das angehängte Beispiel generiert zuerst mehrere ImageViews (alle 1000 * 1000) und füllt sie anschließend mit Bitmaps (Auflösung 1000 * 1000 pix).
Darüber habe ich ein Panel gelegt, um das touch-event abzufangen. Damit sollen die Imageviews verschoben werden. Soweit funktioniert es auch, nur dass sich die Darstellung mit jedem Schieben verändert. Die einzelnen Bilder driften an den Kanten auseinander.
Probiert habe ich es mit PNG und GIF Files. Jedes mal das selbe Ergebnis.
Hier die Routine mit der die Views verschoben werden:
B4X:
Sub rahmen_Touch (Action As Int, X As Float, Y As Float) As Boolean
Select Action
Case Activity.ACTION_DOWN
X0 = X
Y0 = Y
For VNum = 0 To 3
ImvLinks(VNum) = IMVs(VNum).Left
ImvOben(VNum) = IMVs(VNum).Top
Next
Return True
Case Activity.ACTION_MOVE
For VNum = 0 To 3
IMVs(VNum).Left = ImvLinks(VNum) + X - X0
IMVs(VNum).Top = ImvOben(VNum) + Y - Y0
Next
Return True
Case Activity.ACTION_UP
For VNum = 0 To 3
' IMVs(VNum).Bitmap = BMPs(VNum)
' IMVs(VNum).Gravity = Gravity.FILL
IMVs(VNum).Invalidate
Next
Return True
End Select
End Sub
Auch Versuche, beispielsweise bei Activity.ACTION_UP die Bilder neu zuzuweisen oder das Invalidate brachten absolut nichts mit jedem Scrollen klaffen die Bilder weiter auseinander.
Liegt es womöglich an einem Rundungsfehler, weil X und Y als Float definiert sind, ImageView.Left und .Top aber als INT?
Wo ist mein Denkfehler?
Danke im Voraus - Peter