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