Android實現(xiàn)沉浸式通知欄通知欄背景顏色跟隨app導航欄背景顏色而改變
最近好多app都已經(jīng)滿足了沉浸式通知欄, 所謂沉浸式通知欄:就是把用來導航的各種界面操作空間隱藏在以程序內(nèi)容為主的情景中,通過相對“隱形”的界面來達到把用戶可視范圍最大化地用到內(nèi)容本身上。
而最新安卓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)底部導航欄的功能
- 性能分析:指如何快速定位SQL問題
- 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 顯示內(nèi)容被底部導航欄遮擋的問題
- Android仿今日頭條頂部導航欄效果的實例代碼
- Android仿網(wǎng)易客戶端頂部導航欄效果
- Android?Fragment實現(xiàn)頂部、底部導航欄
相關文章
Android開發(fā) Bundle傳值的理解與使用小結(jié)
這篇文章主要介紹了Android開發(fā) Bundle傳值的理解與使用小結(jié),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2024-07-07
Android TouchListener實現(xiàn)拖拽刪實例代碼
這篇文章主要介紹了Android TouchListener實現(xiàn)拖拽刪實例代碼的相關資料,需要的朋友可以參考下2017-02-02
Android 圖片處理避免出現(xiàn)oom的方法詳解
本篇文章主要介紹了Android 圖片處理避免出現(xiàn)oom的方法詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Android開發(fā)中自定義ProgressBar控件的方法示例
這篇文章主要介紹了Android開發(fā)中自定義ProgressBar控件的方法,結(jié)合實例形式分析了自定義ProgressBar控件的定義與使用方法,需要的朋友可以參考下2017-10-10

