アプリ開発備忘録: ① Android 15からはEdge-to-Edge表示が強制適用に (Part 1)

少し前に手持ちのAndroid携帯の一つにシステムのアップデートが入ったのですが、それ以降、いくつかのアプリで、画面の上下の表示がおかしくなってしまいました。。。 実は、このアップデートでアンドロイドOSが「 アップサイドダウンケーキ 」(Android 14, SDK 34)から「 バニラアイスクリーム 」 (Android 15, SDK 35) に更新されて、Android 15からはアプリの表示がデフォルトで Edge-to-Edge (端から端まで) 表示 の仕様、つまり全画面表示になったのが原因でした。 (👉「📑 動作の変更点: Android 15 以上をターゲットとするアプリ 」) これまでもアプリを画面の端から端までの全画面で表示する「 没入モード 」という機能があったので、そのモードでの画面表示がデフォルトになったという理解に少し近いのですが。。。 実際はそうではありません。 没入モードの場合は、アプリが全画面で表示される以外に、「 システムバー 」と呼ばれる、画面の上部に表示される「ステータスバー (Status Bar)」と下部に表示される「ナビゲーションバー」の表示を必要に応じて表示/非表示に出来るほか、非表示の場合でもユーザーの操作によっては再表示される仕様になっています。 (👉「📑 没入モードのシステムバーを非表示にする 」) Status Bar と App Bar Android 15よりも前のOSでは 、没入モード以外では、アプリは全画面にではなく、 自動的に 上下のシステムバーの分が差し引かれた部分だけに表示される仕様になっていて、アプリの表示が上下のシステムバーに重なって表示される事がない様になっていました。 Android 15以降からは 、システムバーの表示/非表示に関係なく、アプリの表示サイズが端から端までの全画面表示になるので、必要に応じて、 インセット(Inset) 情報などを使ってアプリの表示コンテンツがシステムバーの表示と重ならない様に調整する必要があります。。。。。 ...