21
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

21
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?