国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現沉浸式通知欄通知欄背景顏色跟隨app導航欄背景顏色而改變

2020-04-11 10:50:52
字體:
來源:轉載
供稿:網友

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

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

不知道miui6什么時候能統一支持一下。下面給大家說一下怎么讓自己的app支持沉浸式通知欄:

github上已經有大牛研究出來了,說一下怎么實現的:

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

下面是設置通知欄的狀態

@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); }

這樣就可以完美實現沉浸式通知欄的。注意系統一定是在4.4以上。小伙伴們趕快來試一下吧。

代碼二:

通知欄(notification)背景顏色跟隨app導航欄(top title)背景顏色變化而變化。
這也叫沉浸式狀態欄,這是Google在android 4.4以上的系統提出的。
樣式如圖所示:

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" 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 犍为县| 武夷山市| 东山县| 禹城市| 高州市| 西城区| 乐陵市| 高尔夫| 平遥县| 洪洞县| 阿克苏市| 贡觉县| 桓台县| 涞水县| 弥渡县| 樟树市| 青龙| 芒康县| 正镶白旗| 合阳县| 江阴市| 清涧县| 合作市| 台安县| 舞阳县| 台湾省| 淳化县| 体育| 高邮市| 永修县| 嘉祥县| 福安市| 凉城县| 乌海市| 南木林县| 札达县| 同德县| 婺源县| 永登县| 怀柔区| 汨罗市|