Android狀態(tài)欄芭概、導(dǎo)航欄的封裝

題記:Android 狀態(tài)欄、導(dǎo)航欄相關(guān)操作對(duì)于軟件整體美觀起著至關(guān)重要的作用惩嘉,之前總是混淆一些東西罢洲,感覺其中的知識(shí)點(diǎn)有點(diǎn)凌亂,所以抽空學(xué)習(xí)了一下下文黎,現(xiàn)在總結(jié)記錄一下下惹苗,方便日后復(fù)習(xí)。

首先理論一下下耸峭,我覺得只有懂得了其中道理桩蓉,才會(huì)深刻。

概念

1)導(dǎo)航欄:省略...
2)狀態(tài)欄:導(dǎo)航欄上邊的細(xì)長(zhǎng)條是狀態(tài)欄劳闹,里面有電量院究、信號(hào)、時(shí)間什么的本涕,而我們所要的效果就是隨意的控制狀態(tài)欄顏色业汰、透明度,目的就是讓它與導(dǎo)航欄的搭配使整個(gè)界面更加美觀菩颖。
3)沉浸式:讓整個(gè)界面連成一片蔬胯,包括狀態(tài)欄

條件

1)在Android 4.4(v19)及其以上才有android:windowTranslucentStatus 這個(gè)屬性,當(dāng)這個(gè)屬性為true時(shí),才會(huì)出現(xiàn)沉浸式效果位他,頁面才會(huì)頂?shù)浇缑娴捻敹恕?br> 2)在Android 5.0(v21)及其以上才有android:statusBarColor 這個(gè)屬性氛濒,才可以設(shè)置狀態(tài)欄顏色
3)也就是說低于Android4.4(v19)時(shí),我們就不用去管狀態(tài)欄了

實(shí)現(xiàn)思路

方案一(大于等于android4.4)

直接在activity的Theme中鹅髓,設(shè)置 android:windowTranslucentStatus 為 true,這時(shí)整個(gè)界面就是沉浸式效果舞竿。
如果不想讓界面在最頂端只是想要控制狀態(tài)欄顏色時(shí),
1)當(dāng)android5.0以上時(shí)窿冯,可以設(shè)置最外層的布局外層view的fitSystemWindows為true骗奖,然后用代碼或者主題設(shè)置狀態(tài)欄的顏色;
2)當(dāng)android5.0以下時(shí)醒串,想實(shí)現(xiàn)狀態(tài)欄與toolbar顏色相同的情況执桌,設(shè)置android:windowTranslucentStatus 為 true后,可以在布局View的最上端放置一個(gè)TextView芜赌,高度與狀態(tài)欄相同仰挣,顏色設(shè)置為未來狀態(tài)欄的顏色,這樣textView就填充了狀態(tài)欄的位置缠沈,同樣實(shí)現(xiàn)了想要的效果

方案二(大于等于android4.4)

方案一每個(gè)activity實(shí)現(xiàn)效果時(shí)都要那樣操作一下膘壶,未免太麻煩了错蝴,所以才有了方案一的封裝,也是方案一的優(yōu)化颓芭,但實(shí)現(xiàn)原理幾乎是一樣一樣的顷锰。仔細(xì)看一下的話就會(huì)發(fā)現(xiàn)方案一的兩個(gè)實(shí)現(xiàn)方法可以合并成一個(gè),也就是第二個(gè)亡问。
1)設(shè)置activity主題官紫。

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
 
    <style name="TranslucentThem" parent="AppTheme"></style>
    <!-- v19   開始有 windowTranslucentStatus屬性 -->
    <style name="TranslucentThem" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>
<!-- v21 開始有 statusBarColor -->
    <style name="TranslucentThem" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">false</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:statusBarColor">@color/transparent</item>
    </style>

2)封裝基類。
建立一個(gè)基類州藕,在基類中將填充狀態(tài)欄的TextView束世、ToolBar、要實(shí)現(xiàn)的布局文件三個(gè)view全部填充到自己定義的一個(gè)GroupView中慎框,我設(shè)置的這個(gè)GroupView為L(zhǎng)inerLayout良狈,然后再將GroupView加載到Activity中,這樣所有的activity只要繼承一下這個(gè)基類笨枯,其它一切都o(jì)k薪丁,要多方便有多方便。馅精。严嗜。。

這個(gè)實(shí)現(xiàn)起來其實(shí)并不難洲敢,重要的是思路漫玄,有問題可以留言,最后附上我封裝好的代碼压彭,封裝代碼在commonActivity中睦优,如果給個(gè)star啥的就更好了。壮不。汗盘。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末询一,一起剝皮案震驚了整個(gè)濱河市隐孽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌健蕊,老刑警劉巖菱阵,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缩功,居然都是意外死亡晴及,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門掂之,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抗俄,“玉大人脆丁,你說我怎么就攤上這事世舰《ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵跟压,是天一觀的道長(zhǎng)胰蝠。 經(jīng)常有香客問我,道長(zhǎng)震蒋,這世上最難降的妖魔是什么茸塞? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮查剖,結(jié)果婚禮上钾虐,老公的妹妹穿的比我還像新娘。我一直安慰自己笋庄,他們只是感情好效扫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著直砂,像睡著了一般菌仁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上静暂,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天济丘,我揣著相機(jī)與錄音,去河邊找鬼洽蛀。 笑死摹迷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的郊供。 我是一名探鬼主播峡碉,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼颂碘!你這毒婦竟也來了异赫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤头岔,失蹤者是張志新(化名)和其女友劉穎塔拳,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峡竣,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡靠抑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了适掰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颂碧。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荠列,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出载城,到底是詐尸還是另有隱情肌似,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布诉瓦,位于F島的核電站川队,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏睬澡。R本人自食惡果不足惜固额,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望煞聪。 院中可真熱鬧斗躏,春花似錦、人聲如沸昔脯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栅干。三九已至迈套,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碱鳞,已是汗流浹背桑李。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窿给,地道東北人贵白。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像崩泡,于是被迫代替她去往敵國和親禁荒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354