23
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

Android ディスプレイをフルスクリーンにする方法

Androidのディスプレイは、デフォルトではタイトルバーとナビゲーションバーが表示されます。
ディスプレイをフルスクリーンに以下の方法を試してみてください。

タイトルバーを無くす方法

requestWindowFeatureを使用します。
コードを参考にしてください。

activity
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
    }

※Activity#onCreateにてsetContentViewの前にセットすること。

ナビゲーションバーを隠す方法

今回はナビゲーションバーを隠す方法を説明します。
以下のコードを参考にしてください。

activity
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        View decor = this.getWindow().getDecorView();
        decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }

getDectorView()で取得したViewに各フラグをセットします。

■View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

インタラクションがない間ナビゲーションバーを非表示にする
API14(Ver4.0)から使用できます。

■View.SYSTEM_UI_FLAG_FULLSCREEN

ステータスバーを非表示にする
API16(Ver4.1)から使用できます。

■View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

一定時間経過すると、再度非表示にする。
API19(Ver4.4)から使用できます。

こんな感じで分岐すれば、、、

java
public static void setNavigationbarHide(Activity activity, boolean hide){
        View decor = activity.getWindow().getDecorView();
        if(hide && Build.VERSION.SDK_INT > 18)
        {
            decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
        }
        else if(hide && Build.VERSION.SDK_INT > 15)
        {
            decor.setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
        }
        else if(hide && Build.VERSION.SDK_INT > 13)
        {
            decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
        }
        else
        {
            decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
        }

    }

各APIによって、可能な限り各バーを隠すことができます。
が、アプリの挙動に合わない場合もあるので、仕様によって使い方は考えたほうがいいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
23
Help us understand the problem. What are the problem?