ionic2/3/cordova - 沉浸式狀態(tài)欄、導(dǎo)航欄

前言

  • 需要修改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è)置沉浸式。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,172評論 3 119
  • 這次蘋果針對的主要是借貸app和理財(cái)app。 基本一刀切,1000個(gè)里面有999個(gè)通不過,無論是上新包還是更新都無...
    西門吹雪_17bd閱讀 11,159評論 5 8
  • 今天的總體感覺是不錯(cuò)的,在自己的能力范圍之內(nèi),讓自己做到最好,當(dāng)所有人都在做的時(shí)候,我總是不屑于去做的,但是,別人...
    簡清閱讀 211評論 0 1
  • 在外面聊天,老公視頻電話過來,說要我爸媽的身份證還是什么,我跟他說,你打字過來,我看清楚了再發(fā)給你,十分鐘過去了,...
    星月菩提子閱讀 215評論 0 0
  • 在傳統(tǒng)占星學(xué)中,讓星光體七種勢力均衡運(yùn)作的第八中力量,取決于我們對出生星盤的七大行星位置和關(guān)系所構(gòu)成的七種...
    達(dá)泰吉閱讀 379評論 0 0

友情鏈接更多精彩內(nèi)容