This is the project where we will analyze, study, and put into practice how to work with animations in Android.
- We are going to use Kotlin.
- We are going to practice pair programming.
The repository contains a lot of screens with different uses of many Android frameworks for animations. If you are running the app from master
some of them will crash with a TODO
exception because we are expecting you to implement them. If you want to see the final application running move to branch 06-coordinator-layout
.
There are TODO
comments all around the code to practice the different frameworks, they are completely independent from each other so just pick the one you want to practice and implement it.
Your task is to learn about Android animations and apply all these techniques to the app. We recommend you to follow exercises in a very specific order but feel free to do it your way.
The recommended order for exercises is:
- Before starting
- Fork this repository.
- Checkout
master
branch.
- Solve these exercises:
If you get stuck, 06-coordinator-layout
branch contains the finished kata using all animation frameworks. There are also branches for every single new library following the above order and PRs for them showcasing what are the steps we followed to finish the whole exercise.
Here are some links we hope you can find useful to finish these tasks:
- Path reference
- Measure... Layout... Draw!
- Measure, Layout, Draw, Repeat
- How Android Draws Views
- Playing with Paths
- Android Interpolators: A Visual Guide
- Animate drawable graphics
- AnimationDrawable
- Frame Animations in Android
- AnimationVectorDrawable
- Lottie
- Shared Element Activity Transition
- Postponed Shared Element Transitions
- Android Shared-Element Transitions for all
- A window into transitions: Google I/O 2016
- Material Animations
- Android Design — Coordinator Layout
- Mastering the Coordinator Layout
- AppBarLayout scroll behavior with layout_scrollFlags
- Handling Scrolls with CoordinatorLayout
- Intercepting everything with CoordinatorLayout Behaviors
- Animation Collapsing Toolbar Android
Copyright 2019 Karumi
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.