Android需要全屏顯示界面的時候,我們需要對狀態(tài)欄、標(biāo)題欄、虛擬鍵進(jìn)行處理。
隱藏標(biāo)題欄
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
隱藏狀態(tài)欄
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
沉浸式模式
if (Build.VERSION.SDK_INT >= 21) {
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE //表示會讓應(yīng)用的主體內(nèi)容占用系統(tǒng)狀態(tài)欄的空間
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);//表示會讓應(yīng)用的主體內(nèi)容占用系統(tǒng)導(dǎo)航欄的空間
getWindow().setStatusBarColor(Color.TRANSPARENT);
getWindow().setNavigationBarColor(Color.TRANSPARENT);
}
getSupportActionBar().hide();
隱藏狀態(tài)欄,并且根據(jù)滑動顯示狀態(tài)欄
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus && Build.VERSION.SDK_INT >= 19) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}