ナビゲーション バーを非表示にする

このレッスンでは、 Android 4.0(API レベル 14)。

このレッスンでは ステータスバーを非表示にするようにアプリを設計する必要があります。 同時に使用できます。ステータスバーを非表示にするをご覧ください。 ナビゲーションバーとステータスバーを非表示にする(ただし、アクセスしやすい状態を維持する) コンテンツがディスプレイ領域全体に表示されるため、より没入感のある 向上させることができます

システムバー

図 1. ナビゲーション バー

ナビゲーション バーを非表示にする

ナビゲーション バーを非表示にするには、 SYSTEM_UI_FLAG_HIDE_NAVIGATION フラグ。このスニペットでは、両方を非表示にします。 ナビゲーション バーとステータスバーの両方があります。

Kotlin

window.decorView.apply {
    // Hide both the navigation bar and the status bar.
    // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
    // a general rule, you should design your app to hide the status bar whenever you
    // hide the navigation bar.
    systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN
}

Java

View decorView = getWindow().getDecorView();
// Hide both the navigation bar and the status bar.
// SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
// a general rule, you should design your app to hide the status bar whenever you
// hide the navigation bar.
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
              | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

次の点にご注意ください。

  • この方法では、画面上の任意の場所をタップすると、ナビゲーション バー( ステータスバー)が再表示され、表示されたままになります。ユーザーの操作によりフラグが できません。
  • フラグがクリアされたら、次の場合にフラグをリセットする必要があります。 再度バーを非表示にします詳しくは、UI 表示の変更に対応するをご覧ください。 UI の表示の変更をリッスンして、アプリがユーザーの 適切に対応します
  • UI フラグをセットする場所によって違いが生じます。アクティビティの onCreate() メソッドを呼び出し、ユーザーがホームボタンを押すと、システムバーが 表示されます。ユーザーがアクティビティを再度開くと、onCreate() 呼び出されないため、システムバーは引き続き表示されます。システム UI を変更して ユーザーがアクティビティを出入りする際も保持されるようにするには、 onResume() または onWindowFocusChanged()
  • メソッド setSystemUiVisibility() のみ 呼び出し元のビューが表示されている場合にも効果があります。
  • ビューから離れるとフラグが発生する setSystemUiVisibility() で設定 選択します。

コンテンツをナビゲーション バーの背後に表示する

Android 4.1 以降では、アプリのコンテンツを背景に ナビゲーション バーを非表示にしたり、ナビゲーション バーを 表示されますこれを行うには、 SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION。 また、kubectl の SYSTEM_UI_FLAG_LAYOUT_STABLE: アプリが 作成します。

このアプローチを採用する場合、ユーザーの責任において、 アプリの UI がシステムバーに覆われないようにしました。詳細 ディスカッションの詳細については、 ステータスバーを非表示にするレッスンをご覧ください。