前言
- 需要修改StatusBar.java文件
-
修改的內(nèi)容如下:
StatusBar.java - 添加內(nèi)容代碼
// ==================== 添加內(nèi)容start ====================
// /**
// * 初始化狀態(tài)欄相關(guān),
// * PS: 設(shè)置全屏需要在調(diào)用super.onCreate(arg0);之前設(shè)置setIsFullScreen(true);否則在Android 6.0下非全屏的activity會(huì)出錯(cuò);
// * SDK19:可以設(shè)置狀態(tài)欄透明,但是半透明的SYSTEM_BAR_BACKGROUNDS會(huì)不好看;
// * SDK21:可以設(shè)置狀態(tài)欄顏色,并且可以清除SYSTEM_BAR_BACKGROUNDS,但是不能設(shè)置狀態(tài)欄字體顏色(默認(rèn)的白色字體在淺色背景下看不清楚);
// * SDK23:可以設(shè)置狀態(tài)欄為淺色(SYSTEM_UI_FLAG_LIGHT_STATUS_BAR),字體就回反轉(zhuǎn)為黑色。
// * 為兼容目前效果,僅在SDK23才顯示沉浸式。
// */
// 透明狀態(tài)欄
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 狀態(tài)欄字體設(shè)置為深色,SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 為SDK23增加
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
// 透明導(dǎo)航欄(返回鍵、主頁鍵、任務(wù)欄)
// window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
// 部分機(jī)型的statusbar會(huì)有半透明的黑色背景
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
// 設(shè)置狀態(tài)欄顏色為透明
window.setStatusBarColor(Color.TRANSPARENT);
// 設(shè)置導(dǎo)航欄顏色為透明
// window.setNavigationBarColor(Color.TRANSPARENT);
// ==================== 添加內(nèi)容end ====================
實(shí)現(xiàn)
-
在如下圖目錄中找到
StatusBar.java文件
目錄 -
編輯修改
initialize方法中的run方法:
StatusBar.java 在
app.scss中加入樣式:
.platform-android {
// 沉浸式狀態(tài)欄,設(shè)置header留出狀態(tài)欄的位置
ion-header {
padding-top: #{$cordova-md-statusbar-padding};
background-color: color($colors, head-color);
}
.immersive {
padding-top: #{$cordova-md-statusbar-padding};
}
}
.platform-ios {
// 沉浸式狀態(tài)欄,設(shè)置header留出狀態(tài)欄的位置
ion-header {
padding-top: #{$cordova-ios-statusbar-padding};
background-color: color($colors, head-color);
}
.immersive {
padding-top: #{$cordova-ios-statusbar-padding};
}
}
- 歐了
說明
- 因?yàn)樵谠O(shè)置了沉浸式狀態(tài)欄后,狀態(tài)欄內(nèi)容會(huì)覆蓋
header的內(nèi)容,所以設(shè)置樣式將狀態(tài)欄的位置留出來。 - 如果設(shè)置了
沉浸式導(dǎo)航欄,在導(dǎo)航欄為虛擬按鍵的手機(jī)中,導(dǎo)航欄會(huì)覆蓋app中的tabs,所以導(dǎo)航欄不建議設(shè)置沉浸式。

