UPDATE: Soluzione trovata! Scorri verso il basso per la mia risposta accettata!Controllo preciso su Androidi Vettore Animazioni disegnabili
Desidero animare più elementi di un'immagine e collegare l'animazione alla posizione di ViewPagers (quindi più elementi si trasformano o entrano/escono a seconda della pagina corrente trascinata).
Quindi, c'è un modo per controllare con precisione il fotogramma corrente dell'animazione? Per esempio supponiamo ho questo set:
<?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>
animato file vettoriale:
<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>
codice Java per eseguire l'animazione:
ImageView mImage1 = (ImageView) findViewById(R.id.image_1);
AnimatedVectorDrawableCompat animated = (AnimatedVectorDrawableCompat) mImage1.getDrawable();
animated.start();
C'è un modo per controllare l'animazione come setCurrentDuration(400)
che presumibilmente imposterà lo stato corrente dell'animazione a metà? Forse c'è un modo per dividere quel vettore estraibile in livelli e animarli a livello di codice? Grazie in anticipo!
@pskink Ho aggiunto altro codice. Come posso usare l'animazione vettoriale 'setCurrentFraction' width? – Arthur