Ich arbeite an einer benutzerdefinierten ViewGroup.
Diese ViewGroup hat eine Menge von Kindern. Ich muss einige davon animieren und ihre Position ändern. Ich verstehe, dass Android-Animationen nur das Bitmap verschieben und nicht das echte Objekt. Ich habe versucht, sie zu VERSCHIEBEN, indem ich verschiedenen Ressourcen gefolgt bin, aber bin gescheitert.
Was ich bisher mit ViewGroup gemacht habe:
- Die Kinder und die ViewGroup messen
- Die Kinder in onLayout positionieren
Was ich weiter versuchen möchte
Verwenden Sie eine benutzerdefinierte Animation, um eine kleine Teilmenge der Kinder zu verschieben. Ich verwende ein benutzerdefiniertes Animationsobjekt, weil ich eine Menge von Ansichten verschieben muss und ich translationX auf alle zusammen anwende. Die andere Option, die ich kenne, ist, eine separate Animation auf allen von ihnen zu starten, und die Idee davon lässt mich denken, dass es unoptimiert sein wird.
Problem
Die Ansichten animieren sich gut, aber ihre tatsächliche Position bleibt unverändert. Also, wenn ich beim nächsten Mal versuche, dieselbe Art von Animation durchzuführen, aber an neuen Koordinaten, funktioniert es nicht. Weil ihre Positionen nicht aktualisiert wurden.
Was habe ich versucht
- Verwenden Sie
onAnimationEnd
, um jedes der Kinder auf die neue linke, obere, rechte und untere Position zulayout
. Alle Ansichten verschwanden - Bei
onAnimationEnd
, setzen SietranslationX
auf null zurück und beginnen Sie dann, die Ansichten neu zu positionieren. Keine Auswirkung durch Aufruf vonview.setTranslationX(0f)
Kann mir bitte jemand helfen, den richtigen Weg zu finden, dies zu tun? Vielen Dank