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
CustomView in Kotlin @ potatotips #42
Search
Yoshihiro WADA
July 25, 2017
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CustomView in Kotlin @ potatotips #42
potatotips #42にて発表したKotlinでCustomViewを作る話のスライドです。
Yoshihiro WADA
July 25, 2017
More Decks by Yoshihiro WADA
See All by Yoshihiro WADA
AndroidデバイスにFTPサーバを建立する
e10dokup
0
1.7k
Gradleの実行環境設定を見直す
e10dokup
0
1.4k
Firebase App Distributionのテストアプリ配信を試しやすくする
e10dokup
1
760
アプリに署名する 〜GitHub ActionsでのCIも見据えて〜
e10dokup
0
1.4k
Profileable buildでより正確なパフォーマンスを掴む
e10dokup
0
820
[DroidKaigi 2021] メディアアクセス古今東西 / Now and Future of Media Access
e10dokup
0
4.1k
今更「dp」を考える / Let's think about "dp" now
e10dokup
0
6k
1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors
e10dokup
10
3.7k
Guide to background processingを読んでみる / Reading "Guide to background processing"
e10dokup
0
330
Other Decks in Programming
See All in Programming
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
140
速習iPhone Duo対応
yuukiw00w
2
980
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
Java 27新機能 / Java 27 new features
kishida
2
220
setup-vp GitLab対応の裏側
naokihaba
0
160
The Rails Doctrine Decade
koic
2
560
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
960
golang-bob.pdf
iwatsukayura
0
120
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.7k
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
220
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
390
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
540
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
360
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Writing Fast Ruby
sferik
630
63k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Transcript
$VTUPN7JFXJO,PUMJO :PTIJIJSP8BEBBLB!FEPLVQ QPUBUPUJQT!$PPLQBE *OD
୭ͶΜ͓લ :PTIJIJSP8BEB Ɠ $ZCFS"HFOU *OD "EUFDI4UVEJP"*.FTTFOHFS !FEPLVQ ȍ
FEPLVQ FEPLVQ ,PUMJO ྺ ϲ݄
,PUMJO ྺ ϲ݄ ୭ͶΜ͓લ :PTIJIJSP8BEB Ɠ $ZCFS"HFOU *OD
"EUFDI4UVEJP"*.FTTFOHFS !FEPLVQ ȍ FEPLVQ FEPLVQ
ࠓճ͢͜ͱ ⋆ ,PUMJO Ͱ $VTUPN7JFX Λ࡞͢Δ ? ίϯετϥΫλͲ͏ͳΔʜʁ ?
+BWB ͔ΒݺͿࡍʹʜʁ ? $BMMCBDL Ͳ͏͢Εʜʁ
$POTUSVDUPS QVCMJDDMBTT$VTUPN7JFXFYUFOET7JFX\ QVCMJD$VTUPN7JFX $POUFYUDPOUFYU \ TVQFS DPOUFYU JOJU
^ QVCMJD$VTUPN7JFX $POUFYUDPOUFYU !/VMMBCMF"UUSJCVUF4FUBUUST \ TVQFS DPOUFYU BUUST JOJU ^ QVCMJD$VTUPN7JFX $POUFYUDPOUFYU !/VMMBCMF"UUSJCVUF4FUBUUST JOUEFG4UZMF"UUS \ TVQFS DPOUFYU BUUST EFG4UZMF"UUS JOJU ^ QSJWBUFWPJEJOJU \ JOJUJBMJ[F ^ NFUIPET ^ ⋆ ී௨ͷ $POTUSVDUPS
$POTUSVDUPS DMBTT$VTUPN7JFX7JFX\ DPOTUSVDUPS DPOUFYU$POUFYU TVQFS DPOUFYU DPOTUSVDUPS
DPOUFYU$POUFYU BUUST"UUSJCVUF4FU TVQFS DPOUFYU BUUST DPOTUSVDUPS DPOUFYU$POUFYU BUUST"UUSJCVUF4FU EFG4UZMF"UUS*OU TVQFS DPOUFYU BUUST EFG4UZMF"UUS JOJU\ JOJUJBMJ[F ^ NFUIPET ^ ⋆ ,PUMJO Ͱ JOJU ϒϩοΫΛͬͯΈΔ TFDPOEFSZ DPOTUSVDUPST
$POTUSVDUPS DMBTT$VTUPN7JFX!+WN0WFSMPBETDPOTUSVDUPS DPOUFYU$POUFYU BUUST"UUSJCVUF4FU OVMM EFG4UZMF"UUS*OU 7JFX DPOUFYU
BUUST EFG4UZMF"UUS \ JOJU\ JOJUJBMJ[F ^ NFUIPET ^ ⋆ σϑΥϧτҾΛͬͯΈΔ QSJNBSZ DPOTUSVDUPS
$POTUSVDUPS DMBTT$VTUPN7JFX!+WN0WFSMPBETDPOTUSVDUPS DPOUFYU$POUFYU BUUST"UUSJCVUF4FU OVMM EFG4UZMF"UUS*OU 7JFX DPOUFYU
BUUST EFG4UZMF"UUS \ JOJU\ JOJUJBMJ[F ^ NFUIPET ^ ⋆ σϑΥϧτҾΛͬͯΈΔ QSJNBSZ DPOTUSVDUPS
!+WN0WFSMPBET Ξϊςʔγϣϯ ⋆ +BWB ༻ͷ 0WFSMPBENFUIPE Λ࡞ͬͯ͘ΕΔ +BWB ͔ΒσϑΥϧτҾࢀরͰ͖ͳ͍ɻ
/P4VDI.FUIPE&YDFQUJPO Λు͔ΕΔ !+WN0WFSMPBETΞϊςʔγϣϯΛՃ͢Δͱ +BWB ͔Βݟͨͱ͖ʹϝιου͕ଟॏఆٛ͞ΕΔ ,PUMJO ͔Β "OESPJE4UVEJP ͷ *OUFOTJPO Ͱ !+WN0WFSMPBET ͳίϯετϥΫλΛ ࡞ͬͯ͘ΕΔΑ͏ʹ "EE"OESPJE7JFXDPOTUSVDUPSTVTJOH!+WN0WFSMPBET
$BMMCBDL QVCMJDDMBTT-JTUFOFS4BNQMF7JFXFYUFOET7JFX\ QSJWBUF$BMMCBDLDBMMCBDL QVCMJDWPJEIPHF \ JG DBMMCBDLOVMM SFUVSO DBMMCBDLPO)PHF
^ QVCMJDJOUFSGBDF$BMMCBDL\ QVCMJDWPJEPO)PHF ^ ^ QVCMJDDMBTT.BJO"DUJWJUZFYUFOET"QQ$PNQBU"DUJWJUZ JNQMFNFOUT-JTUFOFS4BNQMF7JFX$BMM#BDL\ !0WFSSJEF QVCMJDWPJEPO)PHF \ DBMMCBDLT ^ ^ ⋆ ී௨ͷϦεφʔύλʔϯ
$BMMCBDL DMBTT-JTUFOFS4BNQMF7JFX7JFX\ QSJWBUFWBSDBMMCBDL$BMMCBDL OVMM QSJWBUFGVOIPHF \ DBMMCBDL PO)PHF TBGFDBMM
^ JOUFSGBDF$BMMCBDL\ GVOPO)PHF ^ ^ DMBTT.BJO"DUJWJUZ"QQ$PNQBU"DUJWJUZ -JTUFOFS4BNQMF7JFX$BMMCBDL\ PWFSSJEFGVOPO)PHF \ DBMMCBDLT ^ ^ ⋆ ͦͷ·· ,PUMJO ʹͯ͠ΈΔ
$BMMCBDL DMBTT-JTUFOFS4BNQMF7JFX7JFX\ 㕉ᡔә◌क✖ԒԾԠԏԗӔӘӑӇӘӨӨՉ՛ԸӕᛝӉӅӳӶӵ WBSPO)PHF 6OJU OVMM QSJWBUFGVOIPHF \
PO)PHF JOWPLF ^ ^ DMBTT.BJO"DUJWJUZ"QQ$PNQBU"DUJWJUZ \ PWFSSJEFGVOPO$SFBUF TBWFE*OTUBODF4UBUF#VOEMF \ MJTUFOFS4BNQMF7JFXPO)PHF\ DBMMCBDLT ^ ^ ^ ⋆ ؔϦςϥϧͱ JOWPLF Ͱ -JTUFOFS ͕ෆཁʹ
$BMMCBDL QVCMJDDMBTT+BWB.BJO"DUJWJUZFYUFOET"QQ$PNQBU"DUJWJUZ\ !0WFSSJEF QSPUFDUFEWPJEPO$SFBUF !/VMMBCMF#VOEMFTBWFE*OTUBODF4UBUF \
MJTUFOFS4BNQMF7JFXTFU0O)PHF OFX'VODUJPO6OJU \ !0WFSSJEF QVCMJD6OJUJOWPLF \ DBMMCBDLT SFUVSOOVMM ^ ^ ^ ^ ⋆ +BWB Ͱѻ͏ͱ͖ 'VODUJPO/ ΛҾʹ༩͑Δ 'VODUJPO/ 㮢/ әᐠᡔӘંᡔ㮣 ә ,PUMJO Ә㕉ᡔѭ 6OJU ӔӴ OVMM Ӽ㈘Ӄ
$BMMCBDL ⋆ Ҿ͕ଟ͘ͳͬͨͱ͖Λߟ͑Δ ⋆ ֦େɾॖখɾεΫϩʔϧͰ͖Δ *NBHF7JFX Ͱഒ࠲ඪɺΈग़͠Λ௨ͯ͠΄͍͠ WBSPO$IBOHF4UBUF
TDBMF'MPBU Y'MPBU Z'MPBU PWFS9*OU PWFS:*OU 6OJU OVMM
$BMMCBDL ⋆ +BWB ίʔυͰඇৗʹ͍ 'VODUJPO ʹͳΔ ⋆ ิͰࣗಈੜ͢ΔͱҾ໊͕Ṗ IPHF7JFXTFU0O$IBOHF4UBUF
OFX'VODUJPO'MPBU 'MPBU 'MPBU *OUFHFS *OUFHFS 6OJU \ !0WFSSJEF QVCMJD6OJUJOWPLF 'MPBUB'MPBU 'MPBUB'MPBU 'MPBUB'MPBU *OUFHFSJOUFHFS *OUFHFSJOUFHFS \ SFUVSOOVMM ^ ^ ⧞ӑᥨҷᝪҲӵӘәǘ
$BMMCBDL IPHF7JFXPO$IBOHF4UBUF\ 䖕 GM'MPBU GM'MPBU GM'MPBU
J*OU J*OU\⧞ಌ⇰ᘻҿӶӉᐠᡔൻ GVODUJPOT ^ ^ ⋆ ,PUMJO Ͱ *OUFOTJPO ͨ࣌͠ͷҾ໊͕ʜ +BWB ӘӒҷӲӴ㗾ӕӔӍӉǘ㮹
$BMMCBDL ʹ͍ͭͯࢥ͏͜ͱ ⋆ ؔϦςϥϧͰϦεφʔύλʔϯഉআͰ͖Δ ⋆ ϦεφʔύλʔϯΛͬͨ΄͏͕ϝϯςφϯε ͍͢͠έʔε͍ͬͺ͍͋Γͦ͏ ෳͷҾ͕ଘࡏ͢Δͱ͖ ଟͷίʔϧόοΫؔΛ࣋ͭͱ͖
⋆ ٯʹར༻ͨ͠ํ͕ྑͦ͞͏ͳέʔε͋Γͦ͏ ඞͣఆٛ͢Δඞཁͷͳ͍ίʔϧόοΫ͕͋Δ࣌ FH(FTUVSF%FUFDUPS(FTUVSF-JTUFOFS ͷ μϒϧλοϓͷݕ͚ͩར༻͍ͨ͠ɺͱ͔
ࢀߟจݙ ⋆ +BWB ͔Βͷར༻ΛࢹʹೖΕͨ ,PUMJO ίʔυͰ ԿΛ͢Δ͖͔2JJUB IUUQRJJUBDPNKNBUTVJUFNTDCBBDCDCG ⋆
+BWB,PUMJO ࠞ߹ϓϩδΣΫτͰؾΛ͚͍ͭͯΔ͜ͱɻ IUUQMWMBIBUFOBCMPHDPNFOUSZ ⋆ ,PUMJO ͰίʔϧόοΫ2JJUB IUUQRJJUBDPN""LJSB!HJUIVCJUFNTFCBBFFECED