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
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
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
250
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
660
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
150
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
310
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
630
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
240
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Amusing Abliteration
ianozsvald
0
100
Raft: Consensus for Rubyists
vanstee
141
7.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Thoughts on Productivity
jonyablonski
74
5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
エンジニアに許された特別な時間の終わり
watany
106
230k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
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