(原創)android4.4沉浸式標題欄


趁着清明節的閑工夫,把我的百年不升級一次系統的紅米note手機升級到了miuiv6的系統,早就聽說android4.4的系統有沉浸式標題欄,一直沒有體驗過。這次終於有機會了。看了幾個手機上常用的應用都采用了這個效果,例如qq空間,wps、lbe等。自己也突然手癢癢了一下,想把當前正在做的項目也做成這種效果。

心動不如行動,廢話不多說,直接開干就可以了:

我目前做的司信項目所有的activity都繼承自一個titileactivity,這個titleactivity封裝了一個導航欄,ui給他設計了一個顏色。所以所有的系統的標題欄就跟這個顏色相同就可以了。

我是這樣做的:

設置style文件

 1  <style name="ThemeLeftAndRightAnimation" parent="android:Theme.Black">
 2         <item name="android:windowAnimationStyle">@style/left_right_Animation</item>
 3         <item name="android:windowNoTitle">true</item>
 4         <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
 5         <item name="android:windowBackground">@color/navbar</item>
 6         <item name="android:windowTranslucentStatus">true</item>
 7     </style>
 8 
 9     <style name="MyActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
10         <item name="android:background">@color/navbar</item>
11     </style>

其實就是設置了actionbar的樣式以及主題的背景顏色,讓他的顏色與我程序的導航欄顏色相同。

接下來在titleactivity的oncreate的setcontentview后加入以下代碼:

1 if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
2             getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
3             getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
4         }

再在titleactivity的xml布局文件中加入以下代碼:

android:clipToPadding="true"
android:fitsSystemWindows="true"

這就完了嗎,對,就是這么簡單。也許你會遇到一些問題,因為actionbar要求的最小api是11.所以你的minsdk必須設置成11.

大功告成了,欣賞一下截圖吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM