This sample app accompanies a blog post I wrote on icon animations
Java
Switch branches/tags
Nothing to show
Clone or download
Latest commit eac17ba Apr 13, 2018
Permalink
Failed to load latest commit information.
app upgrade project Apr 13, 2018
gradle/wrapper upgrade project Apr 13, 2018
.gitignore updated readme Nov 6, 2016
LICENSE.md Initial commit Nov 4, 2016
README.md Update README.md Mar 12, 2018
build.gradle upgrade project Apr 13, 2018
gradle.properties upgrade project Apr 13, 2018
gradlew Initial commit Nov 4, 2016
gradlew.bat Initial commit Nov 4, 2016
settings.gradle Initial commit Nov 4, 2016

README.md

adp-delightful-details

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!

Example animated vector drawables

...or these!

Another example animated vector drawable

...or this!

Another example animated vector drawable

...and also this!

Another example animated vector drawable

...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 the 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:

  1. VectorDrawableCompat and AnimatedVectorDrawableCompat can 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 minSdkVersion of 21, it is still advantageous to use the VectorDrawableCompat support 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 ImageViews using app:srcCompat="@drawable/my_vd_or_avd".

  2. Specifying tints, tint modes and/or theme attributes in VectorDrawableCompat XML is supported on all platform versions. Read this blog post for more information.

  3. AnimatedStateListDrawable is 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 AnimatedVectorDrawables yourself).

Known issues

  • On Android 5.0 and 5.1, some icons appear blurry and aren't tinted properly. See this bug thread for more information.