Ich möchte meine AnimatedVectorDrawable
zur Laufzeit animieren, ohne .xml
Dateien zu verwenden. Eigentlich bin ich mit .xml
Dateien genauso wie Dokumentation der Proben zeigt:Animation zur Laufzeit hinzufügen
Also, ich habe vector_drawable.xml
enthält <vector>
mit verschachtelten <group>
und <path>
, die eine Form definiert.
Für diesen Vektor habe ich animated_vector_drawable.xml
enthält <animated-vector>
mit android:animation
assanged zu <target>
.
Der letzte Schritt ist eine Animationsdatei rotation.xml
mit <objectAnimator>
definieren, die durch animated_vector_drawable.xml
verwendet wird Alles funktioniert gut, aber das Problem erscheint, wenn ich viele verschiedene Formen erstellen müssen (Vektoren) mit vielen verschiedenen oder ähnlichen Animationen, weil dies viele .xml
Dateien generiert.
Ich kann nicht bereit sind und bereit
<vector>
von einer.xml
Datei in eine andere (eine Art<include>
-Tag), so muss ich den gleichen Code auf eine andere Dateien kopieren. Es ist sehr nervig.Wenn ich die gleiche Animation für einige
<target>
Elemente verwenden möchte, aber jede Animation muss f.e. verschiedene Verzögerung oder jede Eigenschaft Wert (alpha
,rotation
,interpolator
...), muss ich neu erstellen.xml
Datei enthält<objectAnimator>
mit einem Wert geändert, anstatt die gleiche, eine Datei mit geänderten Eigenschaft Wert zu verwenden. Es ist auch nervig.entdeckte ich, dass ich
ObjectAnimator
undalpha
&fillColor
fürAnimatedVectorDrawable
einstellen können, aber es gibt ein Problem, wenn ichtranslateX
, es isttranslateY
,rotation
ändern möchten oder andere Eigenschaften. Gibt es eine Möglichkeit, dies ohne.xml
zu tun. Ich will nur den Zugang zu<group>
Wie machen Sie das? "Ich habe entdeckt, dass ich ObjectAnimator verwenden und alpha & fillColor für AnimatedVectorDrawable programmgesteuert festlegen kann" – stack
Ja. Ich würde auch gerne wissen, wie man hier programmatisch auf den ObjectAnimator zugreift. –
Ich bin auch interessiert zu wissen, ob es eine Lösung für diese –