Package pi.animation

Class ValueAnimator<Value>

java.lang.Object
pi.animation.ValueAnimator<Value>
Type Parameters:
Value - Der Typ der Werte, die animiert werden, z. B. Double
All Implemented Interfaces:
FrameUpdateListener

public class ValueAnimator<Value> extends Object implements FrameUpdateListener
Ein Animator, der Werte über eine bestimmte Zeitspanne interpoliert und dabei einen Consumer mit den berechneten Zwischenwerten aufruft.

Der ValueAnimator ermöglicht es, Animationen zu erstellen, indem er kontinuierlich Werte zwischen einem Start- und Endwert berechnet und diese an eine Consumer-Funktion übergibt. Die Berechnung erfolgt durch einen Interpolator, der die konkreten Zwischenwerte bestimmt.

Die Klasse unterstützt verschiedene Animationsmodi:

  • SINGLE - Die Animation wird einmal ausgeführt und beendet sich dann.
  • REPEATED - Die Animation wird kontinuierlich wiederholt.
  • PING_PONG - Die Animation läuft vorwärts und rückwärts in einer Schleife.

Zusätzlich kann die Animation pausiert, der Fortschritt manuell gesetzt und Completion-Listener registriert werden, die beim Abschluss der Animation (nur im SINGLE-Modus) aufgerufen werden.

See Also:
  • Constructor Details

  • Method Details

    • setPaused

      @API public void setPaused(boolean paused)
      Setzt, ob die ValueAnimation pausiert werden soll.
      Parameters:
      paused - true: Die Animation wird unterbrochen, bis das flag umgesetzt wird. false: Die Animation wird wieder aufgenommen (sollte sie unterbrochen worden sein)
      See Also:
    • isPaused

      @API public boolean isPaused()
      Gibt an, ob der Animator pausiert ist.
      Returns:
      Ob der Animator pausiert ist.
      See Also:
    • setProgress

      @API public void setProgress(double progress)
      Setzt den aktuellen Fortschritt des Animators händisch.
      Parameters:
      progress - Der Fortschritt, zu dem der Animator gesetzt werden soll. 0 ist Anfang der Animation, 1 ist Ende der Animation. Werte kleiner 0 bzw. größer als 1 sind nicht erlaubt.
    • onFrameUpdate

      public void onFrameUpdate(double pastTime)
      Description copied from interface: FrameUpdateListener
      Diese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.
      Specified by:
      onFrameUpdate in interface FrameUpdateListener
      Parameters:
      pastTime - Die Zeit in Sekunden, die seit der letzten Aktualisierung vergangen ist.
    • addCompletionListener

      public ValueAnimator<Value> addCompletionListener(Consumer<Value> listener)