Androidのディスプレイは、デフォルトではタイトルバーとナビゲーションバーが表示されます。
ディスプレイをフルスクリーンに以下の方法を試してみてください。
#タイトルバーを無くす方法
requestWindowFeatureを使用します。
コードを参考にしてください。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
※Activity#onCreateにてsetContentViewの前にセットすること。
#ナビゲーションバーを隠す方法
今回はナビゲーションバーを隠す方法を説明します。
以下のコードを参考にしてください。
@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)から使用できます。
こんな感じで分岐すれば、、、
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によって、可能な限り各バーを隠すことができます。
が、アプリの挙動に合わない場合もあるので、仕様によって使い方は考えたほうがいいと思います。