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
710
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.5k
ScrollViewで 読了計測した話
ogapants
0
810
「AndroidはiOSと同じデザインで!」と言われたときのTips
ogapants
18
8.4k
たのしいAndroidかいはつ
ogapants
0
150
Fabric Digitsで始めるSMS認証
ogapants
1
1.2k
MediaController をカスタマイズするぞ
ogapants
0
2.7k
Other Decks in Technology
See All in Technology
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
0
180
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
490
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
600
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
750
はじめてのSDET / My first challenge as a SDET
bun913
1
260
2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)
ornew
1
190
システムとの会話から生まれる先手のDevOps
kakehashi
PRO
0
290
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
120
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
930
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
160
4/17/25 - CIJUG - Java Meets AI: Build LLM-Powered Apps with LangChain4j (part 2)
edeandrea
PRO
0
120
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
5
6.2k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.4k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
The Language of Interfaces
destraynor
157
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Practical Orchestrator
shlominoach
186
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
RailsConf 2023
tenderlove
30
1.1k
Scaling GitHub
holman
459
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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