UPDATE: Lösung gefunden! Scrollen Sie nach unten für meine angenommene Antwort!Präzise Kontrolle über Androiden VectorDrawable Animationen
Ich möchte mehrere Elemente eines Bildes animieren und die Animation mit der Position von ViewPagers verknüpfen (so dass mehrere Elemente morphen oder hineinfliegen, abhängig von der aktuellen Seite, die gezogen wird).
Gibt es also eine Möglichkeit, den aktuellen Frame der Animation präzise zu steuern? Zum Beispiel nehmen wir an, ich habe diesen Satz:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="800"
android:propertyName="scaleY"
android:valueFrom="0"
android:valueTo="1" />
<objectAnimator
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="800"
android:propertyName="scaleX"
android:valueFrom="0"
android:valueTo="1" />
<objectAnimator
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="800"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
</set>
animierte Vektordatei:
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/pre_signup_1" >
<target
android:name="plus_button"
android:animation="@anim/pre_signup_1_plus_container" />
<target
android:name="plus"
android:animation="@anim/pre_signup_1_plus_sign" />
</animated-vector>
Java Code, um die Animation zu starten:
ImageView mImage1 = (ImageView) findViewById(R.id.image_1);
AnimatedVectorDrawableCompat animated = (AnimatedVectorDrawableCompat) mImage1.getDrawable();
animated.start();
Gibt es einen Weg, um die Animation zu steuern, wie setCurrentDuration(400)
welcher wird vermutlich den aktuellen Stand der Animation auf die Hälfte setzen? Vielleicht gibt es eine Möglichkeit, den Vektor in Ebenen zu teilen und sie programmatisch zu animieren? Danke im Voraus!
@pskink Ich habe etwas mehr Code hinzugefügt. Wie kann ich 'setCurrentFraction' Breitenvektoranimation verwenden? – Arthur