このレッスンでは、 Android 4.0(API レベル 14)。
このレッスンでは ステータスバーを非表示にするようにアプリを設計する必要があります。 同時に使用できます。ステータスバーを非表示にするをご覧ください。 ナビゲーションバーとステータスバーを非表示にする(ただし、アクセスしやすい状態を維持する) コンテンツがディスプレイ領域全体に表示されるため、より没入感のある 向上させることができます
ナビゲーション バーを非表示にする
ナビゲーション バーを非表示にするには、
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 がシステムバーに覆われないようにしました。詳細 ディスカッションの詳細については、 ステータスバーを非表示にするレッスンをご覧ください。