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
1.2k
2
Share
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.1k
Gradleの実行環境設定を見直す
e10dokup
0
1.3k
Firebase App Distributionのテストアプリ配信を試しやすくする
e10dokup
1
720
アプリに署名する 〜GitHub ActionsでのCIも見据えて〜
e10dokup
0
1.3k
Profileable buildでより正確なパフォーマンスを掴む
e10dokup
0
780
[DroidKaigi 2021] メディアアクセス古今東西 / Now and Future of Media Access
e10dokup
0
3.9k
今更「dp」を考える / Let's think about "dp" now
e10dokup
0
5.9k
1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors
e10dokup
10
3.6k
Guide to background processingを読んでみる / Reading "Guide to background processing"
e10dokup
0
300
Other Decks in Programming
See All in Programming
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
感情を設計する
ichimichi
5
1.3k
How Swift's Type System Guides AI Agents
koher
0
190
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
450
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6.1k
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
890
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
170
PHPで TLSのプロトコルを実装してみる
higaki_program
0
750
へんな働き方
yusukebe
6
2.9k
20260320登壇資料
pharct
0
170
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
300
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
150
Are puppies a ranking factor?
jonoalderson
1
3.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
93
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
320
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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