【Kotlin/Android】Edge-to-Edgeを有効/無効にする方法!

この記事からわかること
- Kotlin/AndroidでEdge-to-Edgeを有効/無効に「する方法
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Meerkat
- Kotlin:2.0.21
- AGP:8.9.2
- Gradle:8.11.1
- Mac M1:Sequoia 15.4
Edge-to-Edgeとは?
「Edge-to-Edge」とはアプリのUIがステータスバーやナビゲーションバーなどのシステムバーの背後まで広がるレイアウトデザインのことを指します。Android15からは「Edge-to-Edge」がデフォルトで有効になるようになっているので注意が必要です。
公式リファレンス:Android15 エッジ ツー エッジの適用
Edge-to-Edgeを無効にする
Edge-to-Edgeでのレイアウトが意図せず、無効にしたい場合はstyle
にandroid:windowOptOutEdgeToEdgeEnforcement
属性を付与しtrue
を指定すればEdge-to-Edgeを無効にすることができます。Android15からはデフォルトでONになっているので無効にしたい場合は明示的にこれを指定する必要があります。
公式リファレンス:windowOptOutEdgeToEdgeEnforcement
Android 16(API36)以上では使えない
一時的にEdge-to-Edgeを無効化できるandroid:windowOptOutEdgeToEdgeEnforcement
属性はターゲットがAndroid 16(API36)の場合は属性自体が非推奨で無効になるため注意してください。修正期間としてAndroid15の間だけ無効にできるようにしてくれているだけのようです。
Android14(API34)以下でEdge-to-Edgeを有効にする
公式リファレンス:Display content edge-to-edge in views
Android14(API34)以下でEdge-to-Edgeを有効にしたい場合はenableEdgeToEdge
メソッドを呼び出せばOKです。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。