Welche Art von Animation wird dafür verwendet?
-
27-10-2019 - |
Frage
Jeder, der mit dem Emulator vertraut ist, weiß, dass während der Ladephase der "Bildschirm" des AVD das Wort "Android" wie im Bild unten zeigt ...
Das Highlight (auf den Buchstaben im Bild) Scans von links nach rechts, um als unbestimmte Fortschrittsindikator zu fungieren.
Ich mache nicht viel Grafikarbeit, daher bin ich mit verschiedenen Animationstechniken nicht vertraut. Ist diese Art von Animation eine gemeinsame und wenn ja, wie heißt es?
Ich möchte in der Titelleiste meiner Hauptaktivität etwas Ähnliches implementieren. Beim Öffnen würde es einen einzelnen Highlight 'Scan' des Aktivitätsnamens machen. Kein wirklicher Zweck, als ein bisschen 'Glitzer' zur UX hinzuzufügen.
Lösung
Dies ist höchstwahrscheinlich eine Bitmap -Animation (Sprite -Animation) oder zwei Bilder, bei denen eine Effektschicht oben ist.
Eine Sprite -Animation wird einfach ein vorgefertigter Bilderset eingestellt, in dem die Frames gerade mit einer bestimmten Rate umgeschaltet werden.
Die andere Alternative ist eine teilweise transparente Maske, die von links nach rechts über dem Hintergrundbild animiert ist.
Um den zweiten Punkt zu veranschaulichen:
- Zuerst haben Sie das Hintergrundbild:
- Dann hast du die Maske. Beachten Sie, dass Weiß und transparent auf Weiß nicht so gut zeigt. Hier ist auch ein Link zum Bild: http://i.imgur.com/bocd4.png
- In Kombination mit einem Versatz der Maske bekommen Sie so etwas wie
Sie zeichnen also einfach die Maske über das Hintergrundbild, und die Alpha -Mischung kümmert sich um den Rest. Der einfachste Weg besteht wahrscheinlich darin, eine ImageView von einer Position zu animieren, die 0-maske ist. Width zu einer Position, die Hintergrund ist.
Wenn Sie möchten, dass die Maske dynamischer ist onDraw
zu einer Leinwand. Sie können den Effekt etwas kühler machen, wenn Sie ihn mit einer Rotation mit einem Animationssatz (oder Animator abhängig vom Android -Ziel) kombinieren.