ウィンドウ インセット内でアプリを配置する

Compose を試す
Jetpack Compose は、Android で推奨される UI ツールキットです。Compose で WindowInsets を操作する方法を学習します。

図 1. ステータスバーとナビゲーション バー(まとめて「システムバー」と呼ばれます)。

コンテンツが画面の上端から下端まで伸びるように、すべてのアプリをレイアウトします。これは、Android 15(API レベル 35)以降のデフォルトの動作です。つまり、アプリの上部と下部の領域は、ステータスバーとナビゲーション バーの背後に配置されます。ステータスバーとナビゲーション バーを合わせて「システムバー」と呼びます。システムバーは 一般に、通知の表示、デバイスの通信、通信に特化 デバイス ナビゲーションです。

アプリとシステム UI が表示される領域との重複 ウィンドウ インセットの一例です。これは、画面のどの部分が システム UI と交差できるようになります。データのこれらの部分と交差するのは、 UI はコンテンツの上に表示するという意味もありますが、 システム ジェスチャー。

使用できるウィンドウの切り欠きの種類は次のとおりです。

  • デフォルトでは、アプリ ウィンドウの拡張をオプトインしてアプリ ウィンドウ全体に表示します。 アプリ コンテンツをエッジ ツー エッジで描画する システムバーの後ろにあります。オフセットを使用して重要なコンテンツが表示されないようにする システムバーの背後にあります。

  • 映画や画像などのコンテンツを表示するアプリは、没入感を高めるためにシステムバーを一時的に非表示にできます。システムバーは、ユーザーがデバイスを操作し、デバイスのステータスを表示するための標準的な方法です。そのため、システムバーを変更する前に、ユーザーの想定やニーズについて慎重に検討する必要があります。

  • ディスプレイ カットアウトとは、一部のデバイスではディスプレイまで広がる領域のことです。 デバイスの前面にセンサー用のスペースを設けます。アプリは、カットアウト領域に重要なコンテンツが重ならないように、カットアウトの位置をクエリすることでディスプレイ カットアウトをサポートできます。

  • ウィンドウの切り欠きが動的に更新される一般的な例として、キーボードの遷移があります。アプリは、現在のキーボードの状態を監視し、プログラムで状態を切り替え、ウィンドウの切り欠きのアニメーションをサポートし、キーボードの遷移間でアプリ コンテンツをシームレスにアニメーション化できます。