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
CustomView in Kotlin @ potatotips #42
Search
Yoshihiro WADA
July 25, 2017
Programming
2
1.2k
CustomView in Kotlin @ potatotips #42
potatotips #42にて発表したKotlinでCustomViewを作る話のスライドです。
Yoshihiro WADA
July 25, 2017
Tweet
Share
More Decks by Yoshihiro WADA
See All by Yoshihiro WADA
AndroidデバイスにFTPサーバを建立する
e10dokup
0
480
Gradleの実行環境設定を見直す
e10dokup
0
1.1k
Firebase App Distributionのテストアプリ配信を試しやすくする
e10dokup
0
650
アプリに署名する 〜GitHub ActionsでのCIも見据えて〜
e10dokup
0
1.2k
Profileable buildでより正確なパフォーマンスを掴む
e10dokup
0
750
[DroidKaigi 2021] メディアアクセス古今東西 / Now and Future of Media Access
e10dokup
0
3.7k
今更「dp」を考える / Let's think about "dp" now
e10dokup
0
5.7k
1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors
e10dokup
10
3.3k
Guide to background processingを読んでみる / Reading "Guide to background processing"
e10dokup
0
270
Other Decks in Programming
See All in Programming
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
230
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
25
9.7k
Ruby Parser progress report 2025
yui_knk
1
260
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
370
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
19
4.4k
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
230
Kiroで始めるAI-DLC
kaonash
2
520
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
210
Langfuseと歩む生成AI活用推進
licux
3
320
Trem on Rails - Prompt Engineering com Ruby
elainenaomi
1
100
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Visualization
eitanlees
147
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Thoughts on Productivity
jonyablonski
69
4.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Documentation Writing (for coders)
carmenintech
73
5k
Being A Developer After 40
akosma
90
590k
A Tale of Four Properties
chriscoyier
160
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
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