Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android Transition
Search
takahirom
February 15, 2017
Programming
4.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Transition
takahirom
February 15, 2017
More Decks by takahirom
See All by takahirom
AIエージェントで 変わるAndroid開発環境
takahirom
3
1k
AndroidアプリのAI実装をAndroidifyで学ぶ ー Google公式サンプルによる体験と実装 ー
takahirom
0
170
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
1.2k
Google の LLM ライブラリ を Android アプリで 使うには?
takahirom
1
2.2k
Robolectric Native Graphics and Roborazzi
takahirom
1
2.4k
Androidアプリで安定して動作させ継続的に開発するために設計の原則を利用して開発した話
takahirom
3
1.5k
Android Tools & Performance
takahirom
1
1.3k
Jetpack Compose State Practices
takahirom
1
1.5k
Inside Jetpack Compose
takahirom
1
1.1k
Other Decks in Programming
See All in Programming
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
残高管理から台帳サービスへの進化
artoy
1
200
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
370
AWSに止められる覚悟してますか?
morizo_1984
2
540
sbt 2.0: takeoff
eed3si9n
0
160
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
phperだってパンチカードでコーディングしたい
o0h
PRO
0
330
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
4.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
A Modern Web Designer's Workflow
chriscoyier
699
190k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Agile that works and the tools we love
rasmusluckow
331
22k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
"OESPJE5SBOTJUJPO UBLBIJSPN !OFX@SVOOBCMF
荈䊹稱➜ ˖ UBLBIJSPNהְֲせד2JJUBהַ剅ְגְתׅկ ˖ %SPJE,BJHJחג ˑ)PXUPJNQMFNFOU.BUFSJBM%FTJHO"OJNBUJPO˒ד 涪邌׃תׅ 勻גי
5SBOTJUJPOהכ ˖ BOESPJEUSBOTJUJPO5SBOTJUJPOؙٓأ ˖ 醱侧ך4DFOFהְֲٖ؎،ؐز⽃⡘ח㼎׃גծ ،صً٦ءّٝ⡲גֻ
5SBOTJUJPOהכ ˖ ًٔحز ˖ ֿ갹䓸הְזوذٔ،ٕرؠ ؎ٝך،صً٦ءָّٝ㹋鄲דֹ ̔(PPHMFךوذٔ،ٕرؠ؎ٝך罋 㹋鄲ך1MBJEדֻׁⵃ欽ׁגְ ˖ "1*-FWFM
"OESPJE ˖ 4VQQPSU-JCSBSZד⢪ִ״ֲחזך ד"1*-FWFM תד⢪ִ 植朐駈זְ堣腉ָⶴה㢳ְ (PPHMFͷ044 1MBJEΞϓϦΑΓ
5SBOTJUJPOך珏겲 ˖ ⽃♧ך5SBOTJUJPO ˖ 'BEF鷲僇䏝ך،صً٦ءָّٝדֹ ˖ $IBOHF#PVOET7JFXך⹛ֹה7JFXך㣐ֹׁךٔ؟؎ؤ ˖ זוזו ˖
5SBOTJUJPO4FUְֻ̔אַろ ˖ "VUP5SBOTJUJPO⡦5SBOTJUJPO䭷㹀׃זְ儗ךرؿٕؓزך 5SBOTJUJPOկ$IBOHF#PVOETה'BEFָろתגְ ˖ $VTUPN5SBOTJUJPO荈ⴓד㹀纏׃5SBOTJUJPO
5SBOTJUJPOך⡲䧭倯岀 ɾίʔυ͔Βੜ final Transition transition = new ChangeBounds() .setDuration(350) .setInterpolator(new
FastOutSlowInInterpolator()); ˖ YNMַ欰䧭 Transition transition = TransitionInflater .from(context) .inflateTransition(R.transition.change_bounds); // res/transition/change_bounds.xml <?xml version="1.0" encoding="utf-8"?> <changeBounds xmlns:android="http://schemas.android.com/apk/res/ android" android:duration="350" android:interpolator=“@android:interpolator/fast_out_slow_in" />
5SBOTJUJPOؕأةو؎ؤ ˖ 5SBOTJUJPOBEE5BSHFU 7JFXװJEזו ،صً٦ءّׅٝ7JFXせזודⵖꣲׅ ˖ 5SBOTJUJPOTFU1BUI.PUJPOזו⢪ִל嘴ⰼ䕎ך،صً٦ءّٝ 〳腉 "1*-FWFM
˖ ،صً٦ءّٝ禸ך%VSBUJPOװ*OUFSQPMBUPSזו♧鸐⢪ִ final Transition transition = new ChangeBounds() .setDuration(350) .setInterpolator(new FastOutSlowInInterpolator()); transition.setPathMotion(new ArcMotion());
5SBOTJUJPOⵃ欽ׅ倯岀 ˖ ָֿ㛇劤ծ4DFOFⴖ剏ִ ˖ 5SBOTJUJPO.BOBHFSCFHJO%FMBZFE5SBOTJUJPO ٖ؎،ؐزך㢌刿ד荈⹛ד،صً٦ءّٝאֽ ˖ 8JOEPX5SBOTJUJPO 4IBSFE&MFNFOU5SBOTJUJPOֿ➙כָֿ㢳ְ
˖ 4DFOF⢪ֲ
4DFOF⢪ֲ ٖ؎،ؐزה秡➰ֽTDFOFⴖ剏ִך TDFOF" TDFOF# MBZPVU@BYNM MBZPVU@CYNM 5SBOTJUJPO.BOBHFS HP TDFOF#
4DFOF⢪ֲ // Transition࡞ final Transition transition = TransitionInflater .from(context) .inflateTransition(R.transition.transition_arc);
// TransitionΛར༻ͯ͠scene2ʹભҠ TransitionManager.go(arcScene1, transition); 鼂獳儗ח5SBOTJUJPO䭷㹀דֹ
5SBOTJUJPOⵃ欽ׅ倯岀 ˖ ָֿ㛇劤 ˖ ٖ؎،ؐزך㢌刿ד荈⹛ד،صً٦ءّٝאֽ ˖ 8JOEPX5SBOTJUJPO 4IBSFE&MFNFOU5SBOTJUJPOֿ➙כָֿ㢳ְ
w 4DFOFΛ͏ ˖ 5SBOTJUJPO.BOBHFSCFHJO%FMBZFE5SBOTJUJPO
5SBOTJUJPO.BOBHFSCFHJO%FMBZF E5SBOTJUJPO ˖ 5SBOTJUJPO䭷㹀ׇ׆חⵃ欽ׅ㜥さծ㛇劤涸ח⟃♴ֽד، صً٦ءّٝ⳿勻 痥✳䒷侧ד䭷㹀〳腉 TransitionManager.beginDelayedTransition(mSceneRoot); // mSceneRootͷViewΛLayoutParamsΛ͍ͬͯ͡Ҡಈ͞
ͤΔ // params.addRule(…) mFirstButton.setLayoutParams(params);
5SBOTJUJPO.BOBHFSCFHJO %FMBZFE5SBOTJUJPO ˖ ➬穈 ˖ CFHJO%FMBZFE5SBOTJUJPOًاحسָㄎל儗剑ⴱך4DFOFה׃ծ ˖ ٖ؎،ؐزך㢌刿ד7JFXSFRVFTU-BZPVU ָㄎל ˖
如ח0O1SF%SBX-JTUFOFSPO1SF%SBX ָㄎל儗如ך4DFOFהׅ䠬ׄד㹋鄲ׁ גְ 㹋ꥷחכ4DFOFכ⢪זְ 5SBOTJUJPO.BOBHFSCFHJO %FMBZFE5SBOTJUJPO TDFOF 0O1SF%SBX-JTUFOFS PO1SF%SBX WJFXTFU-BZPVU1BSBNT TDFOF "VUP5SBOTJUJPO
5SBOTJUJPO.BOBHFSCFHJO %FMBZFE5SBOTJUJPO ˖ BOESPJEVJUPPMLJUEFNPT IUUQTHJUIVCDPNHPPHMFBOESPJEVJUPPMLJUEFNPT ˖ ֿך؟ٝفٕ،فָٔ4VQQPSU-JCSBSZח״ג؟ٝفٕ 㹋鄲ׁגְגֶׅׅדׅկ
5SBOTJUJPOⵃ欽ׅ倯岀 ˖ ָֿ㛇劤 ˖ ٖ؎،ؐزך㢌刿ד荈⹛ד،صً٦ءّٝאֽ ˖ 4IBSFE&MFNFOU5SBOTJUJPOֿ➙כָֿ㢳ְ
˖ 4DFOF⢪ֲ w 5SBOTJUJPO.BOBHFSCFHJO%FMBZFE5SBOTJUJPO w 8JOEPX5SBOTJUJPO
8JOEPX5SBOTJUJPO "1*-FWFM "OESPJE։ 㛇劤כ珏겲 ˖ ך8JOEPX5SBOTJUJPO "DUJWJUZך剑ⴱך朐䡾ַծ邌爙ׁ䖓ך朐䡾תד،صً٦ ءّٝ圫㶨 ➙㔐כⶴ䠥
˖ ך"DUJWJUZַⰟ鸐ךך5SBOTJUJPOדֹ w 4IBSFE&MFNFOU5SBOTJUJPO
4IBSFE&MFNFOU5SBOTJUJPO ɾࢦఆํ๏ ςʔϚʹΑΔࢦఆ <item name=“android:windowSharedElementEnterTransition">@transition/ shared_element</item> ίʔυʹΑΔࢦఆ activity.getWindow().setSharedElementEnterTransition(sharedEnter);
4IBSFE&MFNFOU5SBOTJUJPO ࣮ํ๏ৄࡉ
None
None
4IBSFE&MFNFOU5SBOTJUJPO ࣮ํ๏ৄࡉ
4IBSFE&MFNFOU5SBOTJUJPO ך➬穈 EFDPS7JFXOE/BNFE7JFXT TIBSFE&MFNFOUT דUSBOTJUJPO/BNFָאְ7JFXⰋג《⳿ׅ &OUFS5SBOTJUJPO$PPSEJOBUPS 植㖈ךٖ؎،ؐزך7JFXך⡘縧⥂㶷
"DUJWJUZ5SBOTJUJPO$PPSEJOBUPS "DUJWJUZ鼂獳ד床גֹ#VOEMFח״ծ⯋ךٖ؎،ؐزך⡘縧ד7JFXMBZPVU ㄎן⳿ׅ "DUJWJUZ5SBOTJUJPO$PPSEJOBUPS 5SBOTJUJPO.BOBHFSCFHJO%FMBZFE5SBOTJUJPO 5SBOTJUJPO䭷㹀׃גㄎן⳿ׅ &OUFS5SBOTJUJPO$PPSEJOBUPS ⯋ך⥂㶷׃גְֶ7JFXך⡘縧ד7JFXMBZPVU ㄎן⳿ׅ "DUJWJUZ5SBOTJUJPO$PPSEJOBUPS 5SBOTJUJPO.BOBHFSCFH JO%FMBZFE5SBOTJUJPO TDFOF ભҠݩͷ7JFXͷҐஔ 0O1SF%SBX-JTUFOFS PO1SF%SBX WJFXMBZPVU MFGU UPQ SJHIU CPUUPN TDFOF ભҠઌͷ7JFXͷҐஔ ࢦఆͨ͠5SBOTJUJPO WJFXMBZPVU MFGU UPQ SJHIU CPUUPN [ݺΕͨଆͷActivityͷ෦ͷॲཧ(API Level 25ͷίʔυΑΓ)] ؒҧ͍ͬͯͨΒίϝϯτ͍ͩ͘͞
ֿֿתדד⳿勻ֿה .BUFSJBM%FTJHOך$IPSFPHSBQIZ 䮶➰ֽ ָ 㹋鄲׃װֻׅז ꟼ⤘䚍僇澗חׅ
ֿֿתדד⳿勻ֿה <?xml version="1.0" encoding="utf-8"?> <transitionSet xmlns:android="http://schemas.android.com/apk/res/and xmlns:app="http://schemas.android.com/apk/res-auto" android:duration="375" android:interpolator="@android:interpolator/fast_out_slow_in"> <changeBounds
/> <fade android:duration="150" android:startDelay="75"> <targets> <target android:targetName="all_content_element_nonshare_te </targets> </fade> </transitionSet> 5SBOTJUJPOʹམͱ͠ࠐΊΔ
$VTUPN5SBOTJUJPO 044ך(PPHMF1MBJE،فٔ״ ˖ 歗鼂獳儗ך5SBOTJUJPO ˖ 'MPBUJOH"DUJPO#VUUPOך5SBOTJUJPO ˖ 嗚稊璞ך5SBOTJUJPO ̔%SPJE,BJHJדֶ鑧׃תׅ ע
罋项俱 ˖ "OJNBUJOH7JFXT6TJOH4DFOFTBOE5SBOTJUJPOTIUUQTEFWFMPQFSBOESPJEDPNUSBJOJOH USBOTJUJPOTJOEFYIUNM ˖ %FW#ZUFIUUQTXXXZPVUVCFDPNXBUDI GFBUVSFQMBZFS@FNCFEEFEW4)O+2B% ˖ ⹛ַׅ %FW'FTU,BOTBJ
IUUQZBSBLJHJUIVCJPTMJEFTEFWGFTULBOTBJ JOEFYIUNM ˖ 5SBOTJUJPOTJOUIF"OESPJE4VQQPSU-JCSBSZIUUQTNFEJVNDPNHPPHMFEFWFMPQFST USBOTJUJPOTJOUIFBOESPJETVQQPSUMJCSBSZCDBEFGFTVIE ˖ BOESPJEVJUPPMLJUEFNPTIUUQTHJUIVCDPNHPPHMFBOESPJEVJUPPMLJUEFNPT ˖ 4VQQPSU-JCSBSZGPS5SBOTJUJPOT0WFSWJFXBOEDPNQBSJTPOXJUI5SBOTJUJPOT&WFSZXIFSF IUUQTNFEJVNDPN!BOELVMJLPWTVQQPSUMJCSBSZGPSUSBOTJUJPOTPWFSWJFXBOE DPNQBSJTPODCFDGDCVED[ONVZ