Rotationsanimation

DevelopAnfänger

Neues Mitglied
Hi ich möchte ein Bild als Animation drehen lassen.
Bisher habe ich folgendes:

Java:
ImageView pendel = (ImageView) findViewById(R.id.pendel);
public void onClick(View view)
            {
                 int i = 0;

                 if (!ladung)
                 {
                     ladung = true;
                     while(i<30)
                     {
                         pendel.setRotation(i);
                         i++;
                     }
                 }

                 else
                 {
                     ladung = false;
                     while(i>-30)
                     {
                         pendel.setRotation(i);
                         i--;
                     }
                 }
            }

Nun dreht sich das Bild aber immer direkt um die 30° bzw. -30°. Wie kann ich daraus jetzt eine Animation bauen?

Und da es sich um eine Art Pendel handeln soll, möchte ich dass der Drehpunkt mittig am oberen Rand des Bildes ist.
Das:
Java:
android:pivotX="50%"
android:pivotY="0%"
Will in meinem <ImageView/> der XML nicht funktionieren also wie kann ich den Drehpunkt dann festlegen?


MfG
 

Hutzli

Aktives Mitglied
Hey, das liegt daran, dass der Computer zu schnell ist ;)

Wenn du JavaFX benutzt: Sieh dir die Timeline an.
Creating Transitions and Timeline Animation in JavaFX: Animation Basics | JavaFX 2 Tutorials and Documentation
Ansonsten machst du am besten einen neuen Thread und lässt diesen nach der ersten Umdrehung eine Zeit lang schlafen (Wobei man eigentlich Thread.sleep nicht benutzen sollte). Danach führst du die nächste Anweisung (pendel.setRotation) auf dem GUI-Thread aus.

Für mehr Infos, sieh dir mal diesen Thread an:
http://www.java-forum.org/bilder-gui-und-was-damit-zusammenhaengt/7395-progressbars-algorithmen-multithreading.html
 

Neue Themen


Oben