Ist es möglich, die Animation in umgekehrter Reihenfolge für AnimatedVectorDrawable abzuspielen?Umgekehrte Animation in AnimatedVectorDrawable
2
A
Antwort
0
Wenn Sie AnimatedVectorDrawable Quellcode schauen, werden Sie die Methode
/**
* Reverses ongoing animations or starts pending animations in reverse.
* <p>
* NOTE: Only works if all animations support reverse. Otherwise, this will
* do nothing.
* @hide
*/
public void reverse()
finden Sie können diese Methode aufrufen, mit Reflexion. Zum Beispiel wie folgt aus:
private boolean mAnimationReversed = false;
public void startAnimation() {
if(mAnimationReversed) {
try {
Method reverse = mDrawable.getClass().getMethod("reverse");
reverse.invoke(mDrawable);
} catch (IllegalAccessException| NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
}
mDrawable.start();
mAnimationReversed = !mAnimationReversed;
}
Nur verifiziert: Die Arbeiten an API21, funktioniert aber nicht auf API24 :-(
+2
Die 'reverse();' Methode existiert nicht mehr in API24 –
Ich glaube, Sie brauchen, um Ihre eigenen Reverse Animation machen Ich glaube nicht, Android eine hat. Funktion, mit der Sie es tun können – Stardust
@Stardust Sie haben Recht Ich habe zwei separate Animationen implementiert –