コンテンツが画面の上端から下端まで広がるように、すべてのアプリをレイアウトします。これは、Android 15(API レベル 35)以降のデフォルトの動作です。つまり、アプリの上部と下部の領域がステータスバーとナビゲーション バーの背後に配置されます。ステータスバーとナビゲーション バーを合わせて、システムバーと呼びます。システムバーは、通常、通知の表示、デバイス ステータスの通信、デバイス ナビゲーション専用の領域です。
アプリとシステム UI が表示される領域の重複は、ウィンドウ インセットの一例です。ウィンドウ インセットは、アプリがシステム UI と交差する可能性がある画面の部分を表します。UI のこれらの部分と交差するということは、コンテンツの上に表示されることを意味しますが、システム ジェスチャーについてアプリに通知することもできます。
次のタイプのウィンドウ インセットを使用できます。
デフォルトでは、アプリ ウィンドウを画面全体に拡張し、システムバーの背後にアプリ コンテンツをエッジ ツー エッジで描画するようにオプトインします。オフセットを使用して、重要なコンテンツやタップ ターゲットがシステムバーの後ろに表示されないようにします。
映画や画像などのコンテンツを表示するアプリでは、システムバーを一時的に非表示にして、より没入感のあるエクスペリエンスを提供できます。システムバーは、デバイスを操作してステータスを確認するための標準的な方法をユーザーに提供するものであるため、システムバーを変更する前に、ユーザーのニーズと期待を慎重に検討してください。
ディスプレイ カットアウトとは、一部のデバイスで、デバイス前面のセンサー用のスペースを確保するために、ディスプレイの表面にまで及んでいる領域のことです。アプリは、ディスプレイ カットアウトの位置をクエリすることで、重要なコンテンツがカットアウト領域と重ならないようにすることができます。
キーボードの切り替えは、ウィンドウ インセットが動的に更新される一般的な例です。アプリは、現在のキーボードの状態を監視し、プログラムで状態を切り替え、ウィンドウ インセットのアニメーションをサポートし、キーボードの切り替え時にアプリのコンテンツをシームレスにアニメーション化できます。