欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)現(xiàn)沉浸式通知欄通知欄背景顏色跟隨app導(dǎo)航欄背景顏色而改變

 更新時(shí)間:2016年02月05日 11:31:11   作者:秋葉為何落  
這篇文章主要介紹了Android實(shí)現(xiàn)沉浸式通知欄通知欄背景顏色跟隨app導(dǎo)航欄背景顏色而改變的相關(guān)資料,需要的朋友可以參考下

最近好多app都已經(jīng)滿足了沉浸式通知欄, 所謂沉浸式通知欄:就是把用來導(dǎo)航的各種界面操作空間隱藏在以程序內(nèi)容為主的情景中,通過相對“隱形”的界面來達(dá)到把用戶可視范圍最大化地用到內(nèi)容本身上。

而最新安卓4.4系統(tǒng)的通知欄沉浸模式就是在軟件打開的時(shí)候通知欄和軟件頂部顏色融為一體,這樣不僅可以使軟件和系統(tǒng)本身更加融為一體。 就是手機(jī)的通知欄的顏色不再是白色、黑色簡單的兩種了,本人用的小米4手機(jī),米4手機(jī)中的自帶軟件都支持沉浸式通知欄, 舉個例子:大家可以看一下自己的qq,它的標(biāo)題的背景顏色是藍(lán)色的,那么通知欄也會變成藍(lán)色。之前可能不行,也是最近支持了。

不知道m(xù)iui6什么時(shí)候能統(tǒng)一支持一下。下面給大家說一下怎么讓自己的app支持沉浸式通知欄:

github上已經(jīng)有大牛研究出來了,說一下怎么實(shí)現(xiàn)的:

首先下載SystemBarTint,將里面的SystemBarTintManager.java拷貝出來放到自己的項(xiàng)目中, 在actitvity的onCreate()方法中判斷并設(shè)置通知欄顏色(顏色需要根據(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);//通知欄所需顏色 

下面是設(shè)置通知欄的狀態(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); 
}

這樣就可以完美實(shí)現(xiàn)沉浸式通知欄的。注意系統(tǒng)一定是在4.4以上。小伙伴們趕快來試一下吧。

代碼二:

通知欄(notification)背景顏色跟隨app導(dǎo)航欄(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" 

相關(guān)文章

最新評論