アプリ開発録

アプリ開発dat&のプログラマー、route83
アプリ開発メモやノウハウ、過去の開発回顧録、たまに趣味の話などを記事にしています。

開発メモ


直近の投稿


Edge-to-Edgeを無効化する

2025年9月21日

開発環境
OS:Windows 11
SDK:Android Studio Narwhal Feature Drop | 2025.1.2

概要

Android15以降、強制的に適用されてしまうEdge-to-Edge。
ステータスバーやナビゲーションバーなどシステムバー付近にボタンを配置している場合、調整が必要になります。

Edge-to-Edge

アプリユーザーの没入感を高めるため、Android 15以降、アプリに強制的に適用されるようになったのがEdge-to-Edge。

この機能によってスタータスバーやナビゲーションバーなどのシステムバーが透過となり、その裏までアプリが表示できるようになりました。

詳細はこちらを参照ください。

その弊害

しかしながら、全てのアプリでEdge-to-Edgeが歓迎されるかと言うとそうではなく、Edge-to-Edgeが適用された結果、システムバーがUIの邪魔になるケースが発生。

まさに自作アプリ「サムズアップ?」がそうで

ステータスバーとボタンが重なり、ナビゲーションバーと広告が重なるという惨状・・・
せっかくならUIの調整を行い、Edge-to-Egdeを有効に生かしたいところですが、ちょっとUIを調整する暇はない、ということでEdge-to-Edgeを無効化することにしました。

Style.xmlで無効化する

Edge-to-Edgeを無効化するにはStyle.xmlのスタイル定義に1行追加するだけです。

 <item name="android:windowOptOutEdgeToEdgeEnforcement" tools:targetApi="35">true</item>

そして、動作確認してみた結果がこちら。

ボタン、広告ともにシステムバーと重ならないようになりました!

結局、使いどころは・・・

アプリ「サムズアップ?」においてはEdge-to-Edgeの使いどころはなさそうでした。

Edge-to-Edgeを前提に画面構成を考えるって意外と難しい。。。

全ての画面にEdge-to-Edgeを効かせる、というよりピンポイントで適用させるようなスタイルの使い分けがベターなのかもしれませんね。

今後、アプリを自作するときはそのあたりも考慮したいと思いました。

それでは以上です。

お疲れさまでした。

ピックアップ記事


その他


route83のブログ