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

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

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

デフォルトでは、アプリは上部のステータスバーの下と下部のナビゲーション バーの上に配置されます。ステータスバーとナビゲーション バーをまとめて「システムバー」と呼びます。システムバーは通常、通知の表示、デバイス ステータスの通信、デバイス ナビゲーション専用の領域です。ただし、これらの領域にコンテンツを表示するようにアプリを構成できます。

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

次のタイプのウィンドウ インセットを使用できます。

  • アプリでは、ウィンドウを拡大して画面全体に拡大し、コンテンツをシステムバーの背後の端から端まで描画するようオプトインできます。

  • 動画や画像などのコンテンツを表示するアプリでは、臨場感あふれるエクスペリエンスを実現するため、一時的にシステムバーを非表示にできます。システムバーを変更する前に、ユーザーのニーズと期待を慎重に考慮してください。システムバーは、ユーザーがデバイスを移動し、そのステータスを確認する標準的な方法を提供するためです。

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

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