Mobile applications are getting less static. Interface animations are becoming an integral part of modern apps, making them more user-friendly and navigation through them simpler.
Android projects could use animations for several purposes, specifically to:
- display application status, since the user would be pleased to receive a response to actions he/she triggers. Besides, an appropriate animation would brighten up the user’s expectation when the page content is updated;
- connect various phases of a multiphase process, thereby allowing for a smooth transition between the steps and seamless interaction with the user;
- embed new elements, fitting them harmoniously into the content;
- simplify the interaction process, informing the user what he/she is going through at the moment.
Animations serve to reinforce the user’s action. Nevertheless, rather fanciful or complex effects distract and confuse him/her. As a result, developers should always maintain the golden medium.
Thus, the more you know about animation UI/UX libraries for the Android platform, the easier it is for you to apply them in a smart way. So, shall we start?
We will begin with AndroidViewAnimations. It is a simple Android library that enables you to create view shake animations. Its developer was inspired by an iOS library, since Android had no analogue at that time. The library allows you to implement a wide variety of animations, including:
Moreover, each item has its own subsections with different effects.
ListViewAnimations is another open source library that enables developers to create ListViews with animations. It has the following features:
- appearance animations for items in ListViews, GridViews, other AbsListViews;
- built-in animations include Alpha, SwingRightIn, SwingLeftIn, SwingBottomIn, SwingRightIn and ScaleIn;
- other animations can easily be added;
- supports StickyListHeaders; besides, you can add other implementations without any difficulties;
- Swipe-to-Dismiss, Swipe-To-Dismiss with contextual undo;
- Drag-and-Drop reordering;
- an animated process of adding items;
- you are able to smoothly expand your items to reveal more content.
AndroidImageSlider is an excellent example of an attractive, easy-to-use open source slideshow library. We believe it’s one of the most convenient image sliders on the Android platform.
With its help, you can easily upload your own images from an internet URL, drawable, or file and animate the slideshow with a range of different effects.
4. Transition Everywhere
Transition Everywhere is a backport of Transitions API for Android 4.0 and above. It allows you to change duration, interpolator and start delay for animators inside Transition. It has several transition types:
- Explode and Propagation;
- Path motion;
The library can come in handy when you are going to animate changes to view position and size, extend Visibility class and perform fade in and fade out animations, or put the animations in sequential order.
5. Android Ripple Background
Android Ripple Background enables creating various ripple animation for your Android app. You can change their color, speed of the wave, and the number of ripples. It will be useful if you are going to animate a button click response or an incoming phone call, etc.
6. Aphid FlipView
- flipping horizontally;
- an event listener to get notified when flipping finishes;
- content reloading when flipping;
- different bitmap format for animation, which can be used to reduce peak memory consumption.
FragmentTransactionExtended is a library equipped with a set of custom animations between fragments. Compared to FragmentTransaction, which accepts only simple animations, it got its list extended with more complex effects of the following animations:
Advantages of the library are:
- you can change the duration and the interpolator of transitions and pause/resume them.
- you can define how the rectangles to be zoomed and panned will be generated;
- it seamlessly works out of the box with your favorite image loader library;
- you can start using it right away.
Reachability is a library that enables easy accessing the top of the mobile phone screen. Animations implemented in iPhone 6 and iPhone 6 Plus inspired its developer. Here you can move either the screen or the hover.
AnimationEasingFunctions library was created based on AndroidViewAnimation with the help of Easing Functions. It is also aimed at facilitating the process of animation and making animations more real. You can implement it as a grade or just like a glider.
EasyAndroidAnimations is another Android library that makes animation easier. It has above 50 built-in animations that will help you to implement many effects in your app with only several lines of code. You can include the library directly in your Gradle project.
InterfaceInteraction development was bolstered by the PhysicsLayout project. The library captures any interface (screen or view) and throws its UI elements over under the influence of gravity. As a result, one can move them from sideways obliquely. The gravity effect relies on the device’s accelerometer data. The stop method returns all UI elements back in place.
Another feature is a shake animation for UI elements.
The effects can easily be used to decorate any application.
ViewRevealAnimator view with a lollipop style reveals effect. It enables you to create a smooth animated transition between items.
ArcAnimator is a library that helps create arc transition animation for Android 2.3. and above.
SearchMenuAnim allows creating a clear and effortless transition from a search icon to a search field.
16. Cross View
Cross View animates across in your app. The library enables you to define color and set a state directly. You can also set an animation duration in milliseconds.
WoWoViewPager combines ViewPager and Animations to provide a simple way to create guide pages of the app. It supports some simple animations, namely:
- background color animations;
By its means, designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand.
Lottie’s major advantage is the support of a great variety of After Effects features.
FerrisWheelView is a library that allows implementing an animated Ferris Wheel.
To sum up
Depending on the situation, it is easier to create some animations with the help of the existing libraries, but whereas your idea has a lot of specific details, you will need a custom solution.
Those above will definitely favor the development process of your app, reducing financial and time inputs.
Nevertheless, you should always bear in mind that:
- animations should be functional, improving the user experience;
- only appropriate elements should be animated. Animating every detail makes no sense. Besides, implementing resource-intensive elements would decrease your app performance and affect interaction with the user;
- Render animations if you have such an opportunity, it will play into your hands as well.