2 Stimmen

Was tun bei API-Versionen ohne View.setX?

Also, zu meinem Bedauern habe ich herausgefunden, während ich auf einem älteren Gerät getestet habe, dass die View-Klasse vor der API-Version 11 keine setAlpha- oder setX-Methoden hat. Kann jemand eine Alternative vorschlagen? Ich verschiebe derzeit eine Ansicht, indem ich ihren X-Standort aktualisiere und sie basierend auf Benutzerinteraktion ein- und ausfade.

0voto

teoREtik Punkte 7824

Sie können standardmäßige Animation verwenden, um solche Programlogik zu implementieren, wie z.B. AlphaAnimation und TranslateAnimation, um die Bewegung Ihrer View zu machen. Aber Sie sollten auch im Hinterkopf behalten, dass die originale Position der View in ihrem Elternlayout nicht verändert wird (nur Pixels werden neu gezeichnet). Das bedeutet, dass wenn der Benutzer auf das neue Bild der View tippt, diese View das Ereignis nicht erhält, da ihr Rect an der alten Position bleibt.

Sie könnten das Rechteck der View nach dem Ende der Animation neu positionieren, indem Sie die Methode View.layout() mit 4 Positionierungsparametern dort übergeben, aber in diesem Fall sollten Sie die Natur Ihres Layouts berücksichtigen, denn zum Beispiel, wenn Sie mit einem LinearLayout arbeiten und die Position eines seiner Geschwister durch Aufrufen der Methode layout() ändern, wird die nächste Änderung der Größe eines der UI-Elemente die Methode requestLayout() aufrufen und Ihre animierte View wird an ihre ursprüngliche Position zurückkehren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X