Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Play with animations! (2015)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Omar Miatello
October 04, 2015
Technology
0
32
Play with animations! (2015)
Material Design: Animation Meaningful transitions Hierarchical timing
Omar Miatello
October 04, 2015
Tweet
Share
More Decks by Omar Miatello
See All by Omar Miatello
Build your: "Hey Google, what is the next ..."
omarmiatello
0
37
Creating a Persona: Intro Conversational Design [Assistant Content Bundle]
omarmiatello
0
46
Google Cloud Functions: try { Kotlin } insteadOf JavaScript
omarmiatello
1
280
Firebase Remote Config + Kotlin = EasyFRC
omarmiatello
0
620
AARRR, Pirate Metrics with Firebase for Android (now in real time!)
omarmiatello
0
96
Android & Kotlin: The code awakens (episode 03) - 3/3
omarmiatello
0
91
Android & Kotlin: The code awakens (episode 02) - 2/3
omarmiatello
0
60
Android & Kotlin: The code awakens (episode 01) - 1/3
omarmiatello
0
73
Kotlin: lo Swift di Android
omarmiatello
1
66
Other Decks in Technology
See All in Technology
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
460
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
470
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
160
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.9k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
300
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
150
For a Future-Friendly Web
brad_frost
182
10k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
How to make the Groovebox
asonas
2
1.9k
How to Ace a Technical Interview
jacobian
281
24k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
260
The Language of Interfaces
destraynor
162
26k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
190
Un-Boring Meetings
codingconduct
0
200
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
Play with animations! Material Design: Animation Meaningful transitions Hierarchical timing
Play with animations! - AnimationUtils.java fun View.animateAppear() { alpha =
0f scaleX = 0f scaleY = 0f val animator = ViewCompat.animate(this).alpha(1f).scaleX(1f).scaleY(1f) animator.start() }
Play with animations! - AnimationUtils.java fun View.animateAppear() { alpha =
0f scaleX = 0f scaleY = 0f val animator = ViewCompat.animate(this).alpha(1f).scaleX(1f).scaleY(1f) animator.start() } fun calcDistance(x1: Int, y1: Int, x2: Int, y2: Int) = Math.sqrt(((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)).toDouble())
Play with animations! - AnimationUtils.java fun View.animateAppear() { alpha =
0f scaleX = 0f scaleY = 0f val animator = ViewCompat.animate(this).alpha(1f).scaleX(1f).scaleY(1f) animator.start() } fun calcDistance(x1: Int, y1: Int, x2: Int, y2: Int) = Math.sqrt(((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)).toDouble()) fun List<View>.animateRelativeHierarchicalTiming(centerX: Int = 0, centerY: Int = 0) { forEach { val x = it.left val y = it.top val distance = calcDistance(centerX, centerY, x, y) it.postDelayed({ it.animateAppear() }, distance.toLong()) } }
Play with animations! - AnimationUtils.java fun View.animateAppear() { alpha =
0f scaleX = 0f scaleY = 0f val animator = ViewCompat.animate(this).alpha(1f).scaleX(1f).scaleY(1f) animator.start() } fun calcDistance(x1: Int, y1: Int, x2: Int, y2: Int) = Math.sqrt(((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)).toDouble()) fun List<View>.animateRelativeHierarchicalTiming(centerX: Int = 0, centerY: Int = 0) { forEach { val x = it.left val y = it.top val distance = calcDistance(centerX, centerY, x, y) it.postDelayed({ it.animateAppear() }, distance.toLong()) } }
Omar Miatello Member of GDG Milano (Italy) Android Developer @
Satispay Personal profile google.com/+OmarMiatello Google+ Community: Kotlin for Android goo.gl/mUKF1w Slides of DevFest 2015 - Milano goo.gl/7Vhy0s