【独学】はじめてのAndroidプログラミング – 5.2 GUIの基礎(OS 系)

システムバーは、通知の表示や、デバイス ステータスの通信、デバイスの操作を行うための専用の画面領域です。システムバーはステータスバーとナビゲーションバーで構成されており、通常はアプリと同時に表示されます。

ここでは、システムバー、システムバーを構成するステータスバーとナビゲーションバーについて学習します。

カリキュラムのサンプル コードは、「GUIコンポーネントを含むJavaコードの実行」に示す手順で実行して確認できます。 またナビゲーションバーをAndroidエミュレータで表示するために、「Androidエミュレータでナビゲーションバーの表示」に示す手順を実行します。

ステータスバーの省略表示

ステータスバーの省略表示は、ステータスバーが存在したまま各アイコンが非表示になるため、バーに簡単にアクセスできるという利便性を犠牲にすることなく、没入型のユーザー体験を実現できます。

ステータスバー内のアイコンが省略されて表示されます。ステータスバー内のアイコンが通常次のように表示されます。

ステータスバーの省略表示を行うと、次のように左側のアイコンなどが非表示となります。

次のJavaコードを「MainActivity.java」に作成することにより、ステータスバーの省略表示を行います。

MainActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;  // #①
        decorView.setSystemUiVisibility(uiOptions);
    }
}
  • #①は、「View.SYSTEM_UI_FLAG_LOW_PROFILE」フラグを設定

ステータスバーの非表示

ステータスバー(ならびに、必要に応じてナビゲーション バー)を非表示にすると、コンテンツが利用できる表示領域が増えるため、没入型のユーザー体験を実現できます。

次のようにステータスバーを非表示にします。

次のJavaコードを「MainActivity.java」に作成することにより、ステータスバーの非表示を行います。

MainActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // ステータスバーを消す
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);  // #①
    }
}
  • #①は、「WindowManager.LayoutParams.FLAG_FULLSCREEN」フラグを設定

ナビゲーションバーの非表示

ナビゲーションバーを非表示にすると、コンテンツが利用できる表示領域が増えるため、没入型のユーザー体験を実現できます。

次のようにナビゲーションバーを非表示にします。

次のJavaコードを「MainActivity.java」に作成することにより、ナビゲーションバーの非表示を行います。

MainActivity.java

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        View decor = getWindow().getDecorView();
        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);  // #①
    }
}
  • #①は、「View.SYSTEM_UI_FLAG_HIDE_NAVIGATION」フラグを設定

本節の説明は以上になります。

タイトルとURLをコピーしました