1.在Android多個系統(tǒng)版本兼容的情況下,選擇一款合適的方案做通知欄時很關(guān)鍵的,話不多說直接上三方庫https://github.com/gyf-dev/ImmersionBar
2.問題一般我們設(shè)置是在基類中的OnCreate方法聲明,在OnDestory方法中銷毀,但是有的時候頁面需要沉浸式,或者不一樣的通知欄,之前我也覺得是直接在子類Activity中再聲明一遍不就OK了,結(jié)果沒個卵用
用法:
創(chuàng)建
ImmersionBar.with(this)
.statusBarColor(R.color.transparent) //狀態(tài)欄顏色,不寫默認透明色
.statusBarDarkFont(true) //原理:如果當前設(shè)備支持狀態(tài)欄字體變色,會設(shè)置狀態(tài)欄字體為黑色,如果當前設(shè)備不支持
狀態(tài)欄字體變色,會使當前狀態(tài)欄加上透明度,否則不執(zhí)行透明度
.fitsSystemWindows(true)
.keyboardEnable(true)
.navigationBarColor(R.color.virtual_buttons)
.init();
銷毀
ImmersionBar.with(this).destroy();
3.加入子類activity要沉浸式代碼怎么辦呢
-在oncreat方法中先銷毀
ImmersionBar.with(this).destroy();
ImmersionBar.with(this)
.titleBar(null, false)
//.transparentBar()
.statusBarDarkFont(true)
//.fullScreen(true)
.navigationBarColor(R.color.virtual_buttons)
.init();
-接著在onDestroy()中銷毀
ImmersionBar.with(this).destroy();
4.這樣就行了,如果需要更炫酷的用法就去看看文檔和demo,很實用