Android Animation
As We Know It
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609017/google-material-design.gif)
Contents
1. Property, Drawable and View animations
Contents
1. Property, Drawable and View animations
2. Shared objects & custom animations
Contents
1. Property, Drawable and View animations
2. Shared objects & custom animations
3. Layout animations & transitions framework
Contents
1. Property, Drawable and View animations
2. Shared objects & custom animations
3. Layout animations & transitions framework
4. Ripples, state change animation, Reveals
Contents
1. Property, Drawable and View animations
2. Shared objects & custom animations
3. Layout animations & transitions framework
4. Ripples, state change animation, Reveals
5. Libraries
Contents
1. Property, Drawable and View animations
2. Shared objects & custom animations
3. Layout animations & transitions framework
4. Ripples, state change animation, Reveals
5. Libraries
6. Inspiration
Property
Drawable
View
Property
Drawable
View
Animator
ValueAnimator
ObjectAnimator
AnimatorSet
ViewPropertyAnimator
ValueAnimator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609314/Selection_007.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609313/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609328/anim.gif)
ObjectAnimator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609336/Selection_008.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609328/anim.gif)
ViewPropertyAnimator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609347/Selection_009.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609328/anim.gif)
* Honeycomb and newer
ViewPropertyAnimator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609364/Selection_010.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1609370/anim.gif)
* Honeycomb and newer
Property
-
universal
-
works with almost all objects
-
change the object, not its presentation
-
not tied to View objects
-
many types of animation
-
not defined
Few words about Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610760/anim.gif)
Linear Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610762/anim.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610763/pasted-from-clipboard.png)
Accelerate Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610769/anim.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610766/pasted-from-clipboard.png)
Decelerate Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610777/anim.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610775/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610780/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610781/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610782/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610783/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610784/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610785/pasted-from-clipboard.png)
Other
Custom Interpolator
y=0.5*((2*t−1)^3+1)
Custom Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610794/pasted-from-clipboard.png)
y=0.5*((2*t−1)^3+1)
Custom Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610794/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610799/pasted-from-clipboard.png)
y=0.5*((2*t−1)^3+1)
Custom Interpolator
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610793/pasted-from-clipboard.png)
y=0.5*((2*t−1)^3+1)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1610809/Selection_015.png)
(c) Andrew Komrachkov
Property
Drawable
View
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1611191/pasted-from-clipboard.png)
Define frames
drawable_animation.xml
Start in code
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1611205/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1611210/anim.gif)
Drawable
-
super complicated animations with various effects
-
complicated changes
-
large number of resources and long build
-
difficult to create
Property
Drawable
View
Code
XML
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1611505/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1611508/pasted-from-clipboard.png)
Result
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1611626/anim.gif)
View
-
not defined
-
works with View only
-
executes only with onDraw()
-
one animation per object (but have AnimationSet)
-
elementary types (transition, size, rotation, scale)
-
animation doesn't change object
Shared objects
Custom animations
Shared objects
Custom animations
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615575/create_trip_anim_stage7.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615573/perspective-view.gif)
Shared objects
-
nice animation effect
-
intuitive transition
-
not supported on pre-Lollipop devices (except middle quality backports)
XML
Parent screen
Child screen
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615582/Selection_022.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615586/Selection_023.png)
Code
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615590/Selection_026.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615591/Selection_025.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615595/anim.gif)
Result
Shared objects
Custom animations
Activity
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615890/anim.gif)
ActivityOptions
*API 16+
makeCustomAnimation(
Context context,
int enterResId,
int exitResId)
ActivityOptions example
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615924/Selection_027.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615890/anim.gif)
Fragment
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615933/anim.gif)
*in.xml
*out.xml
&
card_flip_left_in.xml
card_flip_left_out.xml
&
XML
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615945/Selection_028.png)
card_flip_left_in.xml
XML
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615942/Selection_029.png)
card_flip_left_out.xml
Code
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1615987/Selection_030.png)
Layout animations
Transitions framework
Layout animations
Transitions framework
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616238/anim.gif)
#1
XML
*API 11+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616241/Selection_031.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616265/anim.gif)
#2
Code
*API 16+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616276/Selection_034.png)
Layout animations
Transitions framework
TransitionManager.
beginDelayedTransition();
Simple and beautiful
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616554/anim.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616624/Selection_036.png)
Code #1
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616642/Selection_037.png)
Code #2
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616643/Selection_038.png)
Ripples
State change animation
Reveals
Ripples
State change animation
Reveals
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616732/800x600.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616752/Selection_039.png)
Code
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616748/anim.gif)
Ripples
State change animation
Reveals
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616760/arandomconceptofmine.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616854/anim.gif)
Code
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616830/Selection_040.png)
Ripples
State change animation
Reveals
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616835/alarm_material_ui.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616837/add-alarm.gif)
Code #1
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1616862/Selection_041.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617513/anim.gif)
Code #2
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617520/Selection_042.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617518/anim.gif)
Libraries
PreLollipopTransition
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617553/019262a0-fc95-11e4-906a-84a2b744a12c.gif)
API 14+
android-ui
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617573/example-reveal.gif)
API 14+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617571/example-action.gif)
CircularTools
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617578/687474703a2f2f692e696d6775722e636f6d2f586b504e5434562e676966.gif)
API 11+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617579/687474703a2f2f692e696d6775722e636f6d2f705430557148412e676966.gif)
Motion
API 8+
Android View Animations
API 8+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617638/687474703a2f2f7777332e73696e61696d672e636e2f6d773639302f3631306463303334677731656a37356d69327737376732306333306a623471722e676966.gif)
android-pathview
API 14+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617645/settings.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617670/fill-after-resize-new.gif)
android-player
API 12+
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617677/sample_one.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617678/sample_four.gif)
github.com/snowdream/awesome-android
-
729 libraries for Android
-
131 tools and project samples
-
sorted by categories
-
updates
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617743/badges_Android_Tools_Stage1.png)
android-arsenal.com
-
1983 libraries for Android
-
189 tools and project samples
-
sorted by categories
-
updates
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617743/badges_Android_Tools_Stage1.png)
Inspiration
dribbble.com
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617799/open-uri20150722-3-1cmr1ax.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617801/slider.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617802/activity3.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617803/99miles_layout-adaptive_1-4-1.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617810/events-menu_1-1-6.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617812/99miles-find-friends-interface-animation.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617811/draft_08.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617829/teslacar_androidwear-animation-0.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617824/__-list-_800.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1617825/komoot-dribbble-apple-watch-app-animation-2-1-2.gif)
Valeriy Palamarchuk
![](https://s3.amazonaws.com/media-p.slid.es/uploads/127714/images/1608979/Valeriy_Palamarchuk_-_photo.png)
Q&A
Android Animation As We Know It
By Valeriy Palamarchuk
Android Animation As We Know It
- 1,100