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