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
Omar Miatello
October 04, 2015
Technology
0
28
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
32
Creating a Persona: Intro Conversational Design [Assistant Content Bundle]
omarmiatello
0
41
Google Cloud Functions: try { Kotlin } insteadOf JavaScript
omarmiatello
1
270
Firebase Remote Config + Kotlin = EasyFRC
omarmiatello
0
610
AARRR, Pirate Metrics with Firebase for Android (now in real time!)
omarmiatello
0
92
Android & Kotlin: The code awakens (episode 03) - 3/3
omarmiatello
0
86
Android & Kotlin: The code awakens (episode 02) - 2/3
omarmiatello
0
54
Android & Kotlin: The code awakens (episode 01) - 1/3
omarmiatello
0
69
Kotlin: lo Swift di Android
omarmiatello
1
62
Other Decks in Technology
See All in Technology
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
100
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
42
24k
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
300
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
330
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
130
AIコーディング新時代を生き残るための試行錯誤 / AI Coding Survival Guide
tomohisa
9
12k
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
150
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
120
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
ObsidianをMCP連携させてみる
ttnyt8701
2
100
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
140
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Embracing the Ebb and Flow
colly
86
4.7k
Producing Creativity
orderedlist
PRO
346
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
A Tale of Four Properties
chriscoyier
159
23k
Scaling GitHub
holman
459
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
900
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