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
38
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
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
1.5k
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
180
Phase04_ターミナル基礎
overflowinc
0
1.8k
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
140
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
4
330
Kiroで見直す開発プロセスとAI-DLC
k_adachi_01
0
120
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
18
8k
Phase05_ClaudeCode入門
overflowinc
0
1.6k
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
240
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
190
頼れる Agentic AI を支える Datadog のオブザーバビリティ / Powering Reliable Agentic AI with Datadog Observability
aoto
PRO
0
260
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
140
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
9
37k
Designing Powerful Visuals for Engaging Learning
tmiket
0
290
Speed Design
sergeychernyshev
33
1.6k
Docker and Python
trallard
47
3.8k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
81
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Thoughts on Productivity
jonyablonski
75
5.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Statistics for Hackers
jakevdp
799
230k
A designer walks into a library…
pauljervisheath
210
24k
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