Activity 的佈局顯示在狀態欄下面

首先說明狀態欄和導航欄窗口是系統窗口,而activity對應的是應用窗口,他們屬於不同層級的窗口
然後狀態欄/導航欄系統級窗口是在App應用窗口之上,所以activity可視內容的區域是除去狀態欄和導航欄及系統應用窗口區域進行顯示

    protected void setStatusBarFullTransparent() {
        if (Build.VERSION.SDK_INT >= 21) {//21表示5.0
            Window window = getWindow();
//            1. SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏顯示,但狀態欄不會被隱藏覆蓋。
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
//          如果延伸到狀態欄下面之後,那麼就要設置狀態爲透明的顏色,這樣才能看到狀態欄下Activity的佈局
            window.setStatusBarColor(Color.TRANSPARENT);
        } 
    }

這塊必須注意不要在Activity的跟佈局設置 fitsSystemWindows=“true” 這句話的作用是Activity不會全屏顯示,並且顯示狀態欄設置成透明顏色,此時就會出現狀態欄佔據着位置,並且是以白色狀態呈現在用戶眼前,如下圖,紅色標記出來的

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章