Android實現(xiàn)沉浸式通知欄通知欄背景顏色跟隨app導航欄背景顏色而改變
最近好多app都已經(jīng)滿足了沉浸式通知欄, 所謂沉浸式通知欄:就是把用來導航的各種界面操作空間隱藏在以程序內容為主的情景中,通過相對“隱形”的界面來達到把用戶可視范圍最大化地用到內容本身上。
而最新安卓4.4系統(tǒng)的通知欄沉浸模式就是在軟件打開的時候通知欄和軟件頂部顏色融為一體,這樣不僅可以使軟件和系統(tǒng)本身更加融為一體。 就是手機的通知欄的顏色不再是白色、黑色簡單的兩種了,本人用的小米4手機,米4手機中的自帶軟件都支持沉浸式通知欄, 舉個例子:大家可以看一下自己的qq,它的標題的背景顏色是藍色的,那么通知欄也會變成藍色。之前可能不行,也是最近支持了。
不知道m(xù)iui6什么時候能統(tǒng)一支持一下。下面給大家說一下怎么讓自己的app支持沉浸式通知欄:
github上已經(jīng)有大牛研究出來了,說一下怎么實現(xiàn)的:
首先下載SystemBarTint,將里面的SystemBarTintManager.java拷貝出來放到自己的項目中, 在actitvity的onCreate()方法中判斷并設置通知欄顏色(顏色需要根據(jù)軟件的titlebar的背景自己定義)
代碼一:
代碼如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setTranslucentStatus(true);
}
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintResource(R.color.statusbar_bg);//通知欄所需顏色
下面是設置通知欄的狀態(tài)
@TargetApi(19)
private void setTranslucentStatus(boolean on) {
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
if (on) {
winParams.flags |= bits;
} else {
winParams.flags &= ~bits;
}
win.setAttributes(winParams);
}
這樣就可以完美實現(xiàn)沉浸式通知欄的。注意系統(tǒng)一定是在4.4以上。小伙伴們趕快來試一下吧。
代碼二:
通知欄(notification)背景顏色跟隨app導航欄(top title)背景顏色變化而變化。
這也叫沉浸式狀態(tài)欄,這是Google在android 4.4以上的系統(tǒng)提出的。
樣式如圖所示:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
然后在xml布局文件中加入:
android:clipToPadding="false" android:fitsSystemWindows="true"
- Android 中使用RadioGroup和Fragment實現(xiàn)底部導航欄的功能
- 微信小程序實戰(zhàn)之仿android fragment可滑動底部導航欄(4)
- android中Fragment+RadioButton實現(xiàn)底部導航欄
- Android自定義ViewPagerIndicator實現(xiàn)炫酷導航欄指示器(ViewPager+Fragment)
- Android程序開發(fā)之Fragment實現(xiàn)底部導航欄實例代碼
- Android實現(xiàn)底部導航欄功能(選項卡)
- 超簡單的幾行代碼搞定Android底部導航欄功能
- Android 彈出Dialog時隱藏狀態(tài)欄和底部導航欄的方法
- Android 沉浸式狀態(tài)欄與隱藏導航欄實例詳解
- android 全屏去掉底部虛擬導航欄的方法
- 解決android 顯示內容被底部導航欄遮擋的問題
- Android仿今日頭條頂部導航欄效果的實例代碼
- Android仿網(wǎng)易客戶端頂部導航欄效果
- Android?Fragment實現(xiàn)頂部、底部導航欄
相關文章
Android入門之使用eclipse進行源碼開發(fā)的方法
這篇文章主要介紹了Android入門之使用eclipse進行源碼開發(fā)的方法,較為詳細的分析了使用eclipse進行Android源碼開發(fā)的具體步驟與相關注意事項,需要的朋友可以參考下2016-02-02
Android ExpandableListView雙層嵌套實現(xiàn)三級樹形菜單
這篇文章主要介紹了Android ExpandableListView雙層嵌套實現(xiàn)三級樹形菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11
Kotlin擴展函數(shù)及實現(xiàn)機制的深入探索
擴展函數(shù)與擴展屬性的神奇之處在于,可以在不修改原來類的條件下,使用函數(shù)和屬性,表現(xiàn)得就像是屬于這個類的一樣。下面這篇文章主要給大家介紹了關于Kotlin擴展函數(shù)及實現(xiàn)機制的相關資料,需要的朋友可以參考下2018-06-06
Android實現(xiàn)MVVM架構數(shù)據(jù)刷新詳解流程
MVVM架構模式,即Model-View-ViewModel三個層級,MVVM模式出來的時間已經(jīng)很長了,網(wǎng)上關于MVVM模式的解析也有很多,我這里只說一下我自己的理解,基本上是和MVP模式相比較的一個差異2021-10-10
Android開發(fā)之ProgressBar字體隨著進度條的加載而滾動
這篇文章主要介紹了Android開發(fā)之ProgressBar字體隨著進度條的加載而滾動,需要的朋友可以參考下2017-09-09

