1. 程式人生 > >關於android系統中導航欄以及設定全屏的介紹

關於android系統中導航欄以及設定全屏的介紹

在實際應用開發中,我們經常需要獲取全螢幕或者隱藏導航欄的需求,其實就只需要設定幾個引數就搞定。

public static final int SYSTEM_UI_FLAG = 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;

這些flag都是關於全屏以及導航欄的

public void hideSystemUi() {

    getWindow().getDecorView().setSystemUiVisibility(SYSTEM_UI_FLAG);

    getWindow().setStatusBarColor(Color.TRANSPARENT);

    getWindow().setNavigationBarColor(Color.TRANSPARENT);

}

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

getWindow().requestFeature(Window.FEATURE_NO_TITLE);

需要注意的是,這個隱藏的方法需要在onStart方法中而不是在onCreate方法中呼叫,因為onStart方法在鎖屏後再進入應用會再次執行,這樣會解決鎖屏導航欄再次出現的bug。