FloatingActionButton-Symbolanimation (Android FAB src-Zeichnungsanimation)

8

Ich habe versucht, eine Dokumentation darüber zu finden, wie man Icon-Animationen von FABs (der Design-Support-Bibliothek) erstellt, nach einer Weile konnte ich keine Informationen darüber finden und die AnimationDrawable-Referenz in Android-Entwickler funktioniert nicht FABs auch wenn die Klasse ein Kind von ImageView ist.

, aber schaffen Sie eine Workaround, die gut funktioniert.

    
Daniel Ordoñez 18.07.2015, 03:38
quelle

1 Antwort

13

Die Technik, die ich verwendet habe, ist ähnlich der, die auf der DrawableAnimation -Dokumentation zu sehen ist. und mit dem Property-Animation API-Dokument

Zuerst benutze ich die ValueAnimator-Klasse und ein int-Array, das die IDs der Drawables enthält, die Sie in Ihrer Animation verwenden werden.

%Vor%

Richten Sie dann einen AnimationUpdateListener ein und definieren Sie die Änderung des Symbolverhaltens mit der Methode FloatinActionButton.setImageDrawable (Drawable yourDrawable).

Aber der ValueAnimator aktualisiert standardmäßig jeden verfügbaren Frame (abhängig von der Auslastung in der Hardware), aber wir müssen das Icon nicht neu zeichnen, wenn es bereits gezeichnet wurde, deshalb verwende ich die Variable "i"; Sobald ein Symbol durch das nächste ersetzt wurde, wartet der Code, bis der nächste Code gezeichnet wird. (Das Timing hängt von dem von Ihnen definierten Interpolator ab)

%Vor%

Auch nützlich, wenn Sie die Animation rückwärts mit der Methode ValueAnimator.reverse();

abspielen

Ich weiß, dass es keine pro-Lösung ist, aber es ist die einzige, die ich bei allen APIs gefunden habe, die die PropertyAnimation unterstützen. Bitte, wenn Sie eine bessere Lösung hier wissen, wenn nicht hoffe ich, dass dieser Beitrag hilfreich ist

    
Daniel Ordoñez 18.07.2015, 03:41
quelle