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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
Agile Leadership Summit Keynote 2026
m_seki
1
630
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
580
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
プロポーザルに込める段取り八分
shoheimitani
1
280
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
370
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
OpenShiftでllm-dを動かそう!
jpishikawa
0
110
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
54
8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Balancing Empowerment & Direction
lara
5
890
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The browser strikes back
jonoalderson
0
390
The Cult of Friendly URLs
andyhume
79
6.8k
Odyssey Design
rkendrick25
PRO
1
500
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
140
First, design no harm
axbom
PRO
2
1.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
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