天天看點

android狀态欄一體化(改變狀态欄的背景顔色)開源工程推薦

android 沉浸式狀态欄、狀态欄一體化、透明狀态欄、仿ios透明狀态欄 

http://blog.csdn.net/jdsjlzx/article/details/50437779

注:狀态欄的字型顔色位白色, 如果狀态欄背景為白色,上面的部落格已經解決了。

1、前言

在android kitkat 有一個新的特性可以設定手機狀态欄的背景,讓手機整個界面的風格保持一緻,看起來非常清爽,在今年的google i/o上的android l預設就是這種風格。來現在看我們怎麼加上這個酷黑狂拽掉渣天的功能怎麼給我們的程式加上。來先看一下demo效果圖。

android狀态欄一體化(改變狀态欄的背景顔色)開源工程推薦

2、關與kitkat

android 4.4 提供了一套能透明的系統ui樣式給狀态欄和導航欄,這樣的話就不用向以前那樣每天面對着黑乎乎的上下兩條黑欄了,還可以調成跟activity 一樣的樣式,形成一個完整的主題。

3、設定方法

首先要打開activity的透明主題功能,可以把activity的主題設定繼承*.translucentdecor 主題,然後設定android:windowtranslucentnavigation 或者android:windowtranslucentstatus的主題屬性為true,又或者在activity的代碼裡面開啟flag_translucent_navigation 或是 flag_translucent_status的window視窗辨別。由于透明主題不能在4.4以前的版本裡面使用,是以系統樣式跟以前沒有差別,也就是看不到任何變化,這是一個相容模式,這個模式可以相容到api

10.

激活主題

[java] view

plaincopy

@override  

protected void oncreate(bundle savedinstancestate) {  

    super.oncreate(savedinstancestate);  

    setcontentview(r.layout.activity_main);  

    // 建立狀态欄的管理執行個體  

    systembartintmanager tintmanager = new systembartintmanager(this);  

    // 激活狀态欄設定  

    tintmanager.setstatusbartintenabled(true);  

    // 激活導航欄設定  

    tintmanager.setnavigationbartintenabled(true);  

}  

設定狀态欄顔色和圖檔

// 設定一個顔色給系統欄  

tintmanager.settintcolor(color.parsecolor("#99000ff"));  

// 設定一個樣式背景給導航欄  

tintmanager.setnavigationbartintresource(r.drawable.my_tint);  

// 設定一個狀态欄資源  

tintmanager.setstatusbartintdrawable(mydrawable);  

4、開源下載下傳位址

https://github.com/hexiaochun/systembartint

狀态欄的字型顔色位白色, 如果狀态欄背景為白色,這個怎麼解決呢?下面這個部落格解決了這個問題。

繼續閱讀