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
5分でわかるWebView+ViewGroupを実現するAOSPメールアプリの内部実装と ニ...
Search
ogapants
March 18, 2019
Technology
0
720
5分でわかるWebView+ViewGroupを実現するAOSPメールアプリの内部実装と ニュースアプリへの応用 / Otemachi.apk02
Otemachi.apk #02
https://nikkei.connpass.com/event/120816/
ogapants
March 18, 2019
Tweet
Share
More Decks by ogapants
See All by ogapants
WebView+ViewGroupを実現するAOSPメールアプリの内部実装とニュースアプリへの応用 / DroidKaigi2019
ogapants
3
3.6k
ScrollViewで 読了計測した話
ogapants
0
820
「AndroidはiOSと同じデザインで!」と言われたときのTips
ogapants
17
8.4k
たのしいAndroidかいはつ
ogapants
0
160
Fabric Digitsで始めるSMS認証
ogapants
1
1.2k
MediaController をカスタマイズするぞ
ogapants
0
2.7k
Other Decks in Technology
See All in Technology
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
250
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
310
Geminiとv0による高速プロトタイピング
shinya337
0
200
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
310
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
0
160
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
4
1.6k
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
150
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
300
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
940
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
1
310
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
220
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Fireside Chat
paigeccino
37
3.5k
Scaling GitHub
holman
459
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Music & Morning Musume
bryan
46
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Transcript
(5ͰΘ͔Δ) WebView+ViewGroupΛ࣮ݱ͢Δ AOSPϝʔϧΞϓϦͷ෦࣮ͱ χϡʔεΞϓϦͷԠ༻ 2019/03/18 Otemachi.apk #02 @ogapants
ࣗݾհ • ͓͕ͺΜ@ogapants • ຊܦࡁ৽ฉࣾ • DroidKaigi2019Ͱ30ͨ͠༰ͷॖ൛Ͱ͢
͍͖ͳΓͰ͕͢ • ͜͏͍͏ߏͷը໘ɺͲ͏ͬͯ εΫϩʔϧͤ͞·͔͢ʁ ViewGroup WebView ViewGroup
͍͖ͳΓͰ͕͢ • ScrollViewͰ ғͬͪΌ͍·ͤΜ͔ʁ WebView ScrollView? ViewGroup ViewGroup
͍͖ͳΓͰ͕͢ • ScrollViewWebViewΛೖΕΔ͜ͱΛఆͯ͠ ࡞͍ͬͯͳ͍ʂ by GoogleΤϯδχΞ
͜ͷൃදͰ͢͜ͱ • AOSPϝʔϧͰWebViewͲ͏ΘΕ͍ͯΔͷ͔ • Ͳ͏ܦΞϓϦʹԠ༻ͨ͠ͷ͔ • WebView+ViewGroupΛ࣮ݱ͢ΔͨΊͷࢦඪ
WebView+ViewGroupΛ ࣮ݱ͢ΔAOSPϝʔϧΞϓϦͷ ෦࣮
AOSPϝʔϧΞϓϦͰͷߏ ϔομʔViewGroup ίϯςϯπWebView ϑολʔViewGroup
AOSPϝʔϧΞϓϦͰͷߏ WebView in ScrollView AOSPϝʔϧΞϓϦ WebView ViewGroup ScrollView ViewGroup WebView
ViewGroup ViewGroup
AOSPϝʔϧΞϓϦͰͷߏ • WebViewͰεΫϩʔϧͤ͞Δ • ViewGroup࿈ಈ • ViewGroupͷߴ͞cssͰpadding WebView ViewGroup ViewGroup
padding padding
AOSPϝʔϧΞϓϦ͍͢͝
χϡʔεΞϓϦͷԠ༻
ϓϩμΫτೖ·ͰͷྲྀΕ • WebView in ScrollViewΛࣙΊΔඪ • AOSPʹࢀߟʹͳΔ࣮͕ͳ͍͔୳͢ • ෦࣮ΛಡΈਐΊΔ •
࠷ݶͰಈ͘ΞϓϦΛ࡞ͬͯݕূ • ϓϩμΫτʹೖ
ϓϩμΫτೖ • ϑολʔͷΈඞཁͳը໘͔Β࣮ࢪ WebView ϑολʔViewGroup
࣮ࡍͲ͏ͩͬͨͷ͔
࠾༻ͯ͠Α͔ͬͨ͜ͱ • ScrollView͔Β٫Ͱ͖ͨ • ඳը͕एׯૣ͘ͳͬͨ
࠾༻ͯ͠େมͩͬͨ͜ͱ • Մಡੑ͕Լ͕Γɺϝϯςίετ͕૿͑ͨ • ಋೖ͢Δ·Ͱ͕͔͔࣌ؒͬͨ
ਖ਼ؾܰʹਅࣅͮ͠Β͍…
͠WebView+ViewGroup͠ ͨ͘ͳͬͨΒʁ
͠ඞཁʹഭΒΕͨΒ… • WebViewΛΊΔʢ࠷ਪʣ • WebViewͷΈʹ͢Δʢڧ͘ਪʣ • AOSPϝʔϧํࣜΛࢀߟʹ͢Δʢਪʣ
͠ඞཁʹഭΒΕͨΒ… • https://github.com/angebagui/medium-textview/ https://github.com/m7mdra/HtmlRecycler ͷϥΠϒϥϦΛͬͯΈΔʢرʣ • ৽͍͠ΓํΛߟ͑Δʢେ݀ʣ • ScrollViewʹWebViewΛೖΕΔʢඇਪʣ
͍͞͝ʹ
·ͱΊ • AOSPݟͷմͳͷͰ͏·͘ར༻͠Α͏ • ࠷ݶͷ࣮Ͱ༷ࢠΛݟ࣮ͯફ͠Α͏ • ScrollViewͷதʹWebViewΛೖΕΔͷආ͚Α͏
ڵຯ࣋ͬͨํશ൛Λʂ https://bit.ly/2HmOv2V
࠾༻ͬͯ·͢ʂ https://s.nikkei.com/s_android