マンガアプリチーム モバイルアプリエンジニア
id:kk__777 です。
いわゆる「DroidKaigiに参加しました!」 系の記事です。若干出すタイミングを遅刻していて、今年のDroidKaigi全体を語る包括的な記事はすでに世の中に溢れている(気がする)ので、そういった内容はそちらに任せることにします。 ここでは一つのテーマに絞ってお届けします。
DroidKaigi2025 でみた 基礎から学ぶ大画面対応 〜「Large screen differentiated」認定アプリの開発知見〜 に触発されて、GigaViewer for Appsで大画面対応をいろいろ実験しました。 その結果を DroidKaigi & iOSDC After Talks Nightでしゃべってきたのでまとめます。
GigaViewer for Appsについて
はてなでは個人向けWebサービスの提供で培った技術力・サービス運用力を活かし、Webマンガビューワの「GigaViewer for Web」に加え、マンガアプリに対応した「GigaViewer for Apps」を提供しています。
DroidKaigiのセッションであった大画面対応
Google提唱のTier表をベースに経験を交えて語られている印象がありました。

これをベースに少しまとめます。
基本的な大画面対応
まずは“壊れない”こと。代表的なのは次の2点かなと思います。
アプリを全画面で実行できるようにする
端末によってはデフォルトでレターボックス(黒帯)が入ることがあるので、manifest側で制御すること。
Configuration changeを前提にした設計
画面回転やリサイズでActivityが再生成されるのを前提に作る。 ViewModelやStateHolderのスコープを整理しておかないと、「向きを変えた瞬間にデータ消える」みたいな現象が起きやすい。
大画面向けに最適化
ここからがいわゆる“Adaptive Layout”の領域。 セッションでも特にこのパートが丁寧に紹介されていました。
WindowSizeClassによる分岐
ComposeならcalculateWindowSizeClass()を使って Compact / Medium / Expanded の3段階に分岐。 たとえばCompactならBottomNavigation、ExpandedならNavigationRailを出す、みたいな切り替え。
出典: Use window size classes | Android Developersより引用
Navigation rail
出典: Navigation rail | Android Developersより引用
左サイドに常設メニューを置けるので、大画面ではスペース効率がぐっと上がる。 スマホで見慣れたBottomBarをそのまま使うより快適。
Canonical Layout(カノニカルレイアウト)
出典: Canonical layouts | Android Developersより引用
Material Design公式が提唱しているレイアウトの基本パターン。 List + Detail、SupportingPane、Feedなど、“典型的な分割構造”を名前付きで整理してくれていて、大画面でレイアウトを考えるときの指針になる。
大画面で差別化
最後はTier1。「差別化」=“もう一歩踏み込んだ体験”です。
Picture in Picture (PiP)
出典: Picture-in-picture | Android Developersより引用
動画やビューアアプリでは、別アプリ操作中も表示を続けられる。 Android 14以降ではPiP中のジェスチャー制御やトランジションも柔軟になっており、UI演出の幅が広がっている。
Tabletop posture
出典: Make your app fold aware | Android Developersより引用
折りたたみ端末を"ちょい曲げた"状態で上画面に映像、下画面に操作UIを置くようなモード。 ComposeにもWindowLayoutInfo経由で posture が取れるAPIがある。
GigaViewer for Apps では何ができるか
細かな部分は抜きにして、基本的な対応はおそらくできているはずと思ってます。
- Configuration changeへの対応
- アプリ全画面での実行
「大画面向けに最適化」で語られた、柔軟なレイアウト はかなりの部分でやってないなと感じます。 ということで、GoogleでいうとTier2のAdaptive Layout をいくつか考えてみました。
登壇内容はこちら。 speakerdeck.com
ListDetail
Material3 の Canonical Layoutは使いたいでしょう。ということで 王道のListとDetailを同時に表示します。
出典: Canonical layouts | Android Developersより引用
『探す』画面の作品をタップ→『作品詳細』画面に遷移するという画面フローがあるので、大画面ではこれを分割して表示すると検索結果のいろいろな作品を見て回るのがよりスムーズになり使いやすくなりそうです。

SupportingPane
続いて、メインコンテンツとサブコンテンツを表示するLayout
出典: Canonical layouts | Android Developersより引用
これはViewerとコメントを並べるのがドンピシャな感じがします。 (登壇では コメント並べちゃうとネタバレくらいそうというごもっともな感想がありました。)

BookMode
本の概念を取り入れた面白いオプションです。
Foldable端末をちょっと折るとLayoutが変わります。
出典: Reading | Android Developersより引用
これは見栄えも面白い。登壇会場でも『おお〜』という声がちらほらありました。

終わり
注意: GigaViewer for Appsについての当記事で語った内容は 実験段階というステータスになるので リリース予定は今のところありません。 (反響があれば リリース予定に入ってくるかもしれませんね)