This repository accompanies a blog post I wrote on Android Design Patterns on animated icons.
It contains over 25
AnimatedVectorDrawables that you can refer to free of charge. You know... cool animated icons like these!
...and also this!
...and a bunch of others too!
Additional icon implementations are welcome if you've written anything cool that you want to share... submit a pull request! :)
Some notes on backwards compatibility
This sample app uses a
minSdkVersion of 21. However, this decision was mainly done for convenience (i.e. so I could use
AnimatedStateListDrawable class and reference the new material design interpolators directly in XML). Most of the
code can be backported to older platform versions. Some important things to note:
AnimatedVectorDrawableCompatcan for the most part be used on pre-Lollipop devices with a couple of restrictions (continue reading below). Read Chris Banes' blog post for more information. Note that even though this app uses a
minSdkVersionof 21, it is still advantageous to use the
VectorDrawableCompatsupport library implementation (as it fixes some framework bugs that existed on API versions 21-23). Also note that you'll need to assign your vector drawables to your
Specifying tints, tint modes and/or theme attributes in
VectorDrawableCompatXML is supported on all platform versions. Read this blog post for more information.
AnimatedStateListDrawableis not supported on pre-Lollipop devices. However, it is only being used in this project for convenience and is not strictly required (not using it just means you'll need to manually start the
Referencing the new material design interpolators (such as
@android:interpolator/fast_out_slow_in, etc.) is not supported on pre-Lollipop devices. To get around this you can simply create your own custom path interpolators in XML and reference them in your AVDs.
- On Android 5.0 and 5.1, some icons appear blurry and aren't tinted properly. See this bug thread for more information.