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
リッチなアニメーションどうやって実装していますか?
Search
OG1
April 20, 2023
Programming
1.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
リッチなアニメーションどうやって実装していますか?
OG1
April 20, 2023
More Decks by OG1
See All by OG1
Get started with Compose Multiplatform!
ogi2ogi
1
3.1k
Compose Multiplatform入門してみた
ogi2ogi
0
310
Gradleを次のステップへ
ogi2ogi
1
550
Let's Take a Deep Dive into Pager Indicators
ogi2ogi
0
940
Other Decks in Programming
See All in Programming
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
130
AIエージェント時代のコードレビューを設計する
nogu66
5
2.3k
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
610
高専キャリア LT 発表内容
crysta1221
6
5.4k
[DroidKaigi 26] How We Moved from Android Studio to Slack
thisaay
0
160
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
550
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
110
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
210
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
200
バグを直したら useEffect が消えた
colorful12
3
810
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Leo the Paperboy
mayatellez
8
2.2k
ラッコキーワード サービス紹介資料
rakko
1
4.7M
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Scaling GitHub
holman
464
140k
Designing Experiences People Love
moore
143
24k
Writing Fast Ruby
sferik
630
63k
Designing for Performance
lara
611
70k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
700
Transcript
ϦονͳΞχϝʔγϣϯ Ͳ͏࣮͍ͬͯͯ͠·͔͢ʁ ϋʔυϧܹLTେձοʂ#02 2023-04-20 OG1
ࢯ໊ɿTsuyoshi Ogihara ॴଐɿגࣜձࣾVoicy ۀɿAndroidΤϯδχΞ झຯɿπʔϦϯά/VRήʔϜ/DTM ຊΑΖ͓͘͠ئ͍͠·͢ʂ ೖࣾɿ2022.07~ @ogi2ogi
ϦονͳΞχϝʔγϣϯ Ͳ͏࣮͍ͬͯͯ͠·͔͢ʁ
ϦονͳΞχϝʔγϣϯ ྫ͑ɺɺɺ ϩʔσΟϯάΞχϝʔγϣϯ Կ͔ΞΫγϣϯʹରͯ͠දࣔ
ํ๏ᶃɹgifϦιʔεͱͯ͠ඳը͢Δ
ํ๏ᶃɹgifϦιʔεͱͯ͠ඳը͢Δ //... val url = "gifϦιʔεͷURLϦιʔε໊" Glide.with(fragment) .load(url) .into(imageView) //....
͍͍ײ͡👍 Androidͷ߹ͷҰྫ https://bumptech.github.io/glide/
ํ๏ᶃɹgifϦιʔεͱͯ͠ඳը͢Δ //... val url = "gifϦιʔεͷURLϦιʔε໊" Glide.with(fragment) .load(url) .into(imageView) //....
͍͍ײ͡👍 🤔gifϦιʔεͷαΠζେ͖͍ 🤔ιʔεͰ৭Λม͍͑ͨ Androidͷ߹ͷҰྫ https://bumptech.github.io/glide/
ํ๏ᶄɹLottieϥΠϒϥϦΛ͏
ํ๏ᶄɹLottieϥΠϒϥϦΛ͏ • Android/iOS/Windows/WebͳͲ ɹɹෳͷϓϥοτϑΥʔϜʹରԠ • JSONϕʔεͷΞχϝʔγϣϯϑΝΠϧΛѻ͏ • gifʹൺܰྔͰ៉ྷͳΞχϝʔγϣϯϑΝΠϧ https://airbnb.design/lottie/ Lottieͱ
ํ๏ᶄɹLottieϥΠϒϥϦΛ͏ //… ɹval composition by rememberLottieComposition( ɹ LottieCompositionSpec.RawRes(LottieͷJSONϦιʔε) ɹ) val
dynamicProperties = rememberLottieDynamicProperties { //ΞχϝʔγϣϯϦιʔεͷ৭ΛมߋͰ͖Δ val property = LottieProperty.STROKE_COLOR val newColor = Color(0xFFFF0000) val keyPath = "Fill 1".toKeyPath() rememberLottieDynamicProperty(property, newColor, keyPath) } LottieAnimation( composition = composition, dynamicProperties = dynamicProperties, ) //.... ͞Βʹ͍͍ײ͡👍 👍ϦιʔεϑΝΠϧ͕ܰྔ 👍ιʔεͰಈతʹ৭ΛมߋՄ Androidͷ߹ͷҰྫ 👍એݴతUIʹରԠ Ξχϝʔγϣϯදࣔ
·ͱΊ
• LottieϥΠϒϥϦʹ͍ͭͯհ͠·ͨ͠ • 1ͭͷJSONϑΝΠϧͰෳͷϓϥοτϑΥʔϜʹ࣮ग़དྷΔ • gifͳͲʹൺϑΝΠϧͷ༰ྔ͕ܰྔ • ෳࡶͳΞχϝʔγϣϯ࣮͘͢͠ͳΔʂ
͓ΘΓ