アプリバーを表示する

アプリバーは、画面の上部または下部にあるコンテナで、ユーザーが主要な機能やナビゲーション アイテムにアクセスできるようにします。

タイプ

デザイン

目的

トップ アプリバー

画面上部に表示されます。

重要なタスクと情報にアクセスできます。通常、タイトル、コア アクション アイテム、特定のナビゲーション アイテムをホストします。

ボトム アプリバー

画面の下部に表示されます。

通常、コア ナビゲーション アイテムが含まれます。フローティング アクション ボタンを使用するなど、他のアクションへのアクセスを許可する。

バージョンの互換性

この実装では、プロジェクトの minSDK を API レベル 21 以上に設定する必要があります。

依存関係

トップ アプリバーを実装する

次のコードは、スクロール動作を制御するさまざまな例を含め、4 種類のトップアプリバーの実装を示しています。

小さなトップ アプリバー

小さなトップ アプリバーを作成するには、TopAppBar コンポーザブルを使用します。これは最もシンプルなトップ アプリバーです。この例ではタイトルのみが含まれています。

次の例では、TopAppBarscrollBehavior の値を渡していないため、トップ アプリバーは内部コンテンツのスクロールに反応しません。

結果

小さいトップ アプリバーの例。
図 1. 小さなトップ アプリバー。

中央揃えのトップ アプリバー

中央揃えのトップ アプリバーは、タイトルがコンポーネント内で中央に配置される点を除き、小型アプリバーと同じです。これを実装するには、専用の CenterAlignedTopAppBar コンポーザブルを使用します。

この例では、enterAlwaysScrollBehavior() を使用して scrollBehavior に渡す値を取得します。ユーザーがスキャフォールドの内部コンテンツをスクロールすると、バーが閉じます。

結果

ここに代替テキストを入力
図 2. 中央揃えのトップ アプリバー

中程度のトップ アプリバー

中程度のトップ アプリバーでは、タイトルが追加アイコンの下に配置されます。作成するには、MediumTopAppBar コンポーザブルを使用します。

前のコードと同様に、この例では enterAlwaysScrollBehavior() を使用して、scrollBehavior に渡す値を取得します。

結果

図 3. enterAlwaysScrollBehavior からのスクロール動作を示す中程度のトップ アプリバー。

大きなトップ アプリバー

大きなトップ アプリバーは中程度のアプリバーに似ていますが、タイトルとアイコンの間のパディングが大きく、画面全体で占有するスペースも大きくなります。作成するには、LargeTopAppBar コンポーザブルを使用します。

この例では、exitUntilCollapsedScrollBehavior() を使用して scrollBehavior に渡す値を取得します。ユーザーがスキャフォールドの内部コンテンツをスクロールするとバーは閉じますが、ユーザーが内部コンテンツの最後までスクロールするとバーは開きます。

結果

左側にアクション アイコンを保持する下部アプリバーと、右側にフローティング アクション ボタンがあるアプリの画面。
図 4. 大きなトップ アプリバーの実装例

ボトム アプリバーを実装する

ボトム アプリバーを作成するには、トップ アプリバー コンポーザブルに似ている BottomAppBar コンポーザブルを使用します。

次のキーパラメータにコンポーザブルを渡します。

  • actions: バーの左側に表示される一連のアイコン。通常、これらは特定の画面の主要なアクションまたはナビゲーション アイテムです。
  • floatingActionButton: バーの右側に表示されるフローティング アクション ボタン。

結果

左側にアクション アイコンを保持する下部アプリバー、右側にフローティング アクション ボタンがあるアプリの画面。
図 5. ボトム アプリバーの実装例。

要点

  • 通常、アプリバーは Scaffold コンポーザブルに渡します。このコンポーザブルには、アプリバーを受け取るための特定のパラメータがあります。
  • 上部アプリバーの実装に使用するコンポーザブルは、次の主要なパラメータを共有します。

    • title: アプリバー全体に表示されるテキスト。
    • navigationIcon: ナビゲーションのメインアイコン。アプリバーの左側に表示されます。
    • actions: アプリバーの右側に表示される、主要なアクションにユーザーがアクセスするためのアイコン。
    • scrollBehavior: トップ アプリバーがスキャフォールドの内部コンテンツのスクロールにどのように応答するかを決定します。
    • colors: アプリバーの表示方法を決定します。
  • ユーザーがスキャフォールドの内部コンテンツをスクロールしたときに、アプリバーがどのように応答するかを制御できます。これを行うには、TopAppBarScrollBehavior のインスタンスを作成し、トップ アプリバーの scrollBehavior パラメータに渡します。TopAppBarScrollBehavior には次の 3 種類があります。

    • enterAlwaysScrollBehavior: ユーザーがスキャフォールドの内部コンテンツを上に引っ張ると、トップ アプリバーが閉じます。ユーザーが内部コンテンツを下に引っ張ると、アプリバーが展開されます。
    • exitUntilCollapsedScrollBehavior: enterAlwaysScrollBehavior に似ていますが、ユーザーがスキャフォールドの内部コンテンツの最後まで到達すると、アプリバーも拡張されます。
    • pinnedScrollBehavior: アプリバーは移動せず、スクロールに反応しません。

このガイドを含むコレクション

このガイドは、Android 開発の幅広い目標を網羅する、厳選されたクイックガイド コレクションの一部です。

コンポーズ可能な関数を使用して、マテリアル デザインのデザイン システムに基づいて美しい UI コンポーネントを簡単に作成する方法を学びます。

ご質問やフィードバックがある場合

よくある質問のページでクイックガイドをご覧になるか、お問い合わせフォームからご意見をお寄せください。