Engineers are often chastised for valuing function over form. For example, if a button’s purpose is to show something new on the screen, why would someone want to spend time making the new item animate smoothly into position when she or he can simply just pop it into view?
Well, there are some very good reasons to use animation in apps. Number one: it looks cool! While that may not be a great reason in and of itself, animation used in the correct places can create a really engaging experience for users, which is key to an app’s success. When used correctly, animation can indicate how things are supposed to behave. As the Material Design specifications from Google elegantly state: “Motion design can effectively guide the user’s attention in ways that both inform and delight.”
The great news is that it is easier than ever to build these kinds of animations into your apps. We will cover animations in detail later this year at Treehouse, but until then I thought it would be helpful to share some of my favorite resources related to animation. Take a look, bookmark this page, and reply in the comments with your own links and examples!
These blog posts and references can help you make sense of all the latest animations and transitions available in Android.
- My Journey to Lollipop Transitions: Part 1 – This is an excellent article about creating content transitions similar to those featured in the Material Design specifications.
- Android Animations – The official docs about animations are pretty helpful!
- Getting Started with Android L Animations – A comprehensive tutorial on many of the new animations introduced with Material Design.
- View Animations Tutorial – View animations move or change a View, and this tutorial does a great job of explaining the basics.
- Property Animations Tutorial – Property animations change some property about a view, like it’s alpha transparency or orientation.
Bonus: Material Design Colors!
- Material Design Color Palette Generator – This is a handy tool to generate a complete palette of colors based on the basic Material Design palette.
- Using the Palette API – The Palette API in Android can be used to dynamically extract a palette of colors from a sample image.
These GitHub repositories have some really useful libraries and examples that make it tremendously easy to add animations to an app.
- AndroidViewAnimations – All sorts of custom view animations.
- ListViewAnimations – A set of animations to use on list items. Super helpful for ListViews!
- Material-Animations – Animations based on movement described in the Material Design guidelines.
- EasyAndroidAnimations – Another helpful set of easy animations.
Retired Treehouse Videos
These two videos are from a retired course at Treehouse, but they still might prove valuable, so have a look if you need these specific types of animation.
- FrameAnimation – Frame-based animation, like a flipbook or traditional cartoon.
- AlphaAnimation – Animating the alpha (transparency) property of a View, i.e. making things disappear and reappear.
*LEGO hard drive image courtesy of William Warby under the Creative Commons License.