Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
23
Help us understand the problem. What is going on with this article?
@a_nishimura

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

More than 3 years have passed since last update.

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

23
Help us understand the problem. What is going on with this article?
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
aivick
創意工夫でお客様の課題を解決し続ける古都京都のシステム開発会社です。ベンチャー精神を忘れず、ヘルスケア業界に革新をもたらす新サービスの実現も目指しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
23
Help us understand the problem. What is going on with this article?