スマホのベゼルが消え、画面がほぼ全面ディスプレイになった今、アプリのレイアウトもそれに合わせて進化する時代が来ました。Googleは長らく推奨してきた「Edge-to-Edge表示」をAndroid 15(API 35)からデフォルト適用に変更しています。
「ステータスバーやナビゲーションバーの裏までコンテンツを描画する」デザイン手法です。
これまでアプリは安全のためにシステムバー分の余白を確保していましたが、その結果、せっかくの画面を有効活用できないことも。Edge-to-EdgeはUIをフルスクリーンに広げ、余白の管理をアプリ側が行うスタイルです。
targetSdkVersion 35以上のアプリは自動でEdge-to-Edge有効化。
ナビゲーションバー・ステータスバーが半透明化し、背景が透けるデザインに。
未対応のアプリはUIがバーの下に潜るなど崩れやすくなります。
Android 15では一時的なオプトアウト設定あり。
Android 16ではオプトアウト不可になり、完全義務化の予定。
WindowInsets対応WindowInsetsCompat
やComposeのWindowInsets
を使い、必要な部分にパディングを付与しましょう。
バーの見やすさ調整
バーの色やアイコンコントラストを適切に設定。ライト/ダークテーマ両方で確認を。
コードは下位互換用に
Android 15以上では自動適用されるため、WindowCompat.setDecorFitsSystemWindows(window, false)
は古いOS用の補助に。
Edge-to-Edgeは「やったほうがいい」から「やらないと壊れる」へ。
今後はInsets対応やバーのデザイン調整が基本スキルになります。Android 16では完全義務化されるため、今のうちに対応しておくのがおすすめです。