Android Animations
Learn how to add various animations to your apps that will make the app user experience more dynamic, fun, and effective. By Filip Babić.
Learning path
This is part of the Android User Interfaces learning path. View path.
Who is this for?
Android developers who are looking to improve their apps using animations. You'll learn how to add meaningful motion to your apps using simple and complex animations and data set changes.
Covered concepts
- Property animations using ValueAnimators and ObjectAnimators.
- Interpolators and animation functions.
- Custom View animations.
- Activity transitions.
- Fragment transitions.
- Shared Element transitions.
- Circular reveal animations.
- Reversing animations.
- List animations.
- AnimatedVectorDrawable API.
- ItemTouchHelpers.
- Swipe and Drag & Drop animations.
- CollapsingToolbarLayout.
- Scrolling behavior.
- Third party animations.
- Lottie files and animations.
- Physics-based animations in Android.
- Spring animations.
- Fling animations.
Part 1: View Property Animations
Learn what types of animations exist and which ones you'll cover in the first part of the course.
Download the starter app and build it in Android Studio, review the existing app code and explore the app features.
See how to perform a basic property animation using ValueAnimator. You'll animate the LoginActivity button and progress bar.
Practice using ValueAnimators to change the Login button size as the animation changes.
Learn how to change the curve of your animations to make them look less linear.
Replace one of your animations with an ObjectAnimator, to automatically update a View's alpha.
Combine multiple different animations into one custom view that you can transform.
Finish the custom view animation by building a reverse animation to transform the button from the progress state to the idle state.
Part 2: Build Screen Transitions
Learn about transitions and how to transition from one screen to another using Activity, Fragment and Shared Element transitions.
Build your first Activity transition that represents a slide in and slide out transition.
Practice using Activity transitions to add a fade in and fade out transition to your app.
Improve your app transition experience by building a Shared Element transition between pet lists and the details screen.
Practice using shared element transitions to add another element to the transition and polishing your animation.
Implement another cool transition between Activities using a Circular Reveal transition.
Practice working with circular reveal transitions to seamlessly animate your Settings screen.
Part 3: Implement List Animations
Explore what types of animations you can add to your Lists and how they improve the user experience.
Learn about AnimatedVectorDrawables API and how to build them using the Shape Shifter tool.
Add list animations by implementing an ItemTouchHelper. Implement a swipe and a drag & drop animation.
Finish the ItemTouchHelper animation by adding actions to your gestures, such as removing an item or re-ordering the data set.
Practice the Item Touch Helper API by adding it to another screen and expanding the swipe gesture.
Learn about CollapsingToolbarLayouts and how they can improve the behavior on your app's Details screen.
Expand the CollapsingToolbarLayout behavior by adding scroll listeners and updating the UI as the user scrolls the screen.
Improve your scrolling behavior by showing and hiding floating actions on the Details screen, as the user scrolls.
Part 4: Explore Advanced Animations
Learn about more advanced animation types in Android - physics-based animations and third-party animations.
Learn about Lottie and implement it in your app to use awesome animation files without a lot of work.
Practice working with Lottie, to add another Lottie animation file to your app.
Implement your first physics-based animation to add a spring animation to your cookies!
Practice working with spring animations by adding a vertical spring animation.
Learn how to implement fling animations to throw cookies to your pets and feed them in the process!
Wrap up the course by adding another fling animation and looking back at all the animations you've built so far.